Mock Version: 5.5 Mock Version: 5.5 Mock Version: 5.5 Mock Version: 5.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-yoga-x86_64-5/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1026gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.src.rpm Child return code was: 0 Mock Version: 5.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-yoga-x86_64-5/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1026gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-yoga-x86_64-5/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1026gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Wc3VK2 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-20.1.4.dev7 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-20.1.4.dev7-0.20240907171316.a859de6.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-20.1.4.dev7 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg + rm -rf driver-requirements.txt requirements.txt test-requirements.txt + sed -i /tempest/d setup.cfg + rm -rf ironic_tempest_plugin + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.wc6oSf + umask 022 + cd /builddir/build/BUILD + cd ironic-20.1.4.dev7 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s' running build running build_py creating build creating build/lib creating build/lib/ironic creating build/lib/ironic/common copying ironic/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/rpc_service.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/raid.py -> build/lib/ironic/common copying ironic/common/qemu_img.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/nova.py -> build/lib/ironic/common copying ironic/common/neutron.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/molds.py -> build/lib/ironic/common copying ironic/common/kickstart_utils.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/indicator_states.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/image_format_inspector.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/components.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/args.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common creating build/lib/ironic/objects copying ironic/objects/volume_target.py -> build/lib/ironic/objects copying ironic/objects/volume_connector.py -> build/lib/ironic/objects copying ironic/objects/trait.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/port.py -> build/lib/ironic/objects copying ironic/objects/notification.py -> build/lib/ironic/objects copying ironic/objects/node_history.py -> build/lib/ironic/objects copying ironic/objects/node.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/fields.py -> build/lib/ironic/objects copying ironic/objects/deployment.py -> build/lib/ironic/objects copying ironic/objects/deploy_template.py -> build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/chassis.py -> build/lib/ironic/objects copying ironic/objects/bios.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/allocation.py -> build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects creating build/lib/ironic/tests creating build/lib/ironic/tests/unit creating 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/third_party_driver_mock_specs.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_utils.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_redfish.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_ipmi.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_ibmc.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_fake_hardware.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_drac.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_base.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/__init__.py -> build/lib/ironic/tests/unit/drivers creating build/lib/ironic/drivers creating build/lib/ironic/drivers/modules creating build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/vendor.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/utils.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/raid.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/mappings.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/management.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/__init__.py -> build/lib/ironic/drivers/modules/ibmc creating build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_vendor.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_raid.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_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish creating build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_verify.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_steps.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_periodics.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_deployments.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_cleaning.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_allocations.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor creating build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/api creating build/lib/ironic/api/controllers copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers creating build/lib/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/auth_public_routes.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware creating build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_raid.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_management.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_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_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo creating build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/utils.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.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/inspect.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/boot.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac creating build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network creating build/lib/ironic/db creating build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ramdisk.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspector.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspect_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/fake.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/boot_mode_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_power.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules creating 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_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.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_rpc.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_raid.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_qemu_img.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_molds.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_kickstart_utils.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_images.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_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_format_inspector.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_args.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic 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/volume_connector.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.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/ramdisk.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/port.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/notification_utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/event.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/conductor.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 copying ironic/api/controllers/v1/bios.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/allocation.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/cmd copying ironic/cmd/status.py -> build/lib/ironic/cmd copying ironic/cmd/singleprocess.py -> 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/api.py -> build/lib/ironic/cmd copying ironic/cmd/__init__.py -> build/lib/ironic/cmd copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests creating build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/vendor.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/raid.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/firmware_utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish copying ironic/db/migration.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage creating build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_models.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_proxy_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_method.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_healthcheck.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_functions.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.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/base.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api copying ironic/api/wsgi.py -> build/lib/ironic/api copying ironic/api/method.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/functions.py -> build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/__init__.py -> build/lib/ironic/api copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ramdisk.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_mgmt.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_ipxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspector.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_cache.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_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_power.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/raid.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.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/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.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/bios.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo creating build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service creating build/lib/ironic/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_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity creating build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc creating build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_utils.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_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.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_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac creating build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible creating build/lib/ironic/conductor copying ironic/conductor/verify.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/steps.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/periodics.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/deployments.py -> build/lib/ironic/conductor copying ironic/conductor/cleaning.py -> build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/allocations.py -> build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor creating build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/base.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc creating build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/management.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity creating build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.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_portgroup.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_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_event.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_deploy_template.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_collection.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_allocation.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/ibmc.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_status.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp creating build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/raid.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/packaging_version.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/bios.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc creating build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/management.py -> build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi creating build/lib/ironic/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking creating build/lib/ironic/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional creating 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_volume_target.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_trait.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_portgroup.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_port.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_objects.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_notification.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node_history.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_fields.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deployment.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deploy_template.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_conductor.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_chassis.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_bios.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_allocation.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/__init__.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/db/utils.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_nodes.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_traits.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_history.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_deploy_templates.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_bios_settings.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_allocations.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/__init__.py -> build/lib/ironic/tests/unit/db creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage creating build/lib/ironic/conf copying ironic/conf/xclarity.py -> build/lib/ironic/conf copying ironic/conf/swift.py -> build/lib/ironic/conf copying ironic/conf/snmp.py -> build/lib/ironic/conf copying ironic/conf/service_catalog.py -> build/lib/ironic/conf copying ironic/conf/redfish.py -> build/lib/ironic/conf copying ironic/conf/pxe.py -> build/lib/ironic/conf copying ironic/conf/opts.py -> build/lib/ironic/conf copying ironic/conf/nova.py -> build/lib/ironic/conf copying ironic/conf/neutron.py -> build/lib/ironic/conf copying ironic/conf/molds.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/irmc.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/ibmc.py -> build/lib/ironic/conf copying ironic/conf/healthcheck.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/disk_utils.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/cinder.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/api.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/anaconda.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf running egg_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt copying ironic/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common copying ironic/tests/unit/drivers/boot-fallback.ipxe -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy creating build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic creating build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.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/c1846a214450_add_boot_mode_and_secure_boot.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions 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/initial_grub_cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules creating build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/tests/json_samples copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/json_samples creating build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/tests/unit/api/test_acl_basic.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_legacy.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> build/lib/ironic/tests/unit/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 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 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.hLhJgi + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64 ++ dirname /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64 + cd ironic-20.1.4.dev7 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' + /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64 running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9 creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/anaconda.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/disk_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor copying build/lib/ironic/conductor/verify.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/singleprocess.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/README -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/models.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/auth_public_routes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/json_ext.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/parsable_error.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/network-data-schema.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/collection.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/driver.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/event.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/versions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/raid_config_schema.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ks.cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/initial_grub_cfg.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/intel_ipmi/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/intel_ipmi/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/packaging_version.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/console.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/firmware_processor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/external.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/flat.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/common.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/job.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/vendor_passthru.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples copying build/lib/ironic/tests/json_samples/network_data.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional copying build/lib/ironic/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_fields.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_notification.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_objects.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_trait.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/test_auth.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_status.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_tags.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_traits.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_nodes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_portgroups.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_ports.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_targets.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_models.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_types.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_args.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_context.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_format_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_glance_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_images.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_molds.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_network.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_nova.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_policy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_qemu_img.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_states.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_swift.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_rbac_system_scoped.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_rbac_project_scoped.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_rbac_legacy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_acl_basic.yaml -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_acl.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_audit.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_functions.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_method.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_ospmiddleware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_proxy_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_root.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_collection.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_event.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/mgr_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_periodics.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_steps.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_verify.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ks_missing_var.tmpl -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ks_extra_vars.tmpl -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_timeout.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot-fallback.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/test_external.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/json_samples copying build/lib/ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/json_samples copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/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-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_drac.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_generic.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mocks.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/node_history.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/service_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/args.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/image_format_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/kickstart_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/molds.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/qemu_img.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/agent.py to agent.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/anaconda.py to anaconda.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ansible.py to ansible.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/api.py to api.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/audit.py to audit.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/auth.py to auth.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/cinder.py to cinder.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/conductor.py to conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/console.py to console.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/database.py to database.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/default.py to default.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/deploy.py to deploy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/dhcp.py to dhcp.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/disk_utils.py to disk_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/drac.py to drac.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/glance.py to glance.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/healthcheck.py to healthcheck.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ibmc.py to ibmc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ilo.py to ilo.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/inspector.py to inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/ipmi.py to ipmi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/irmc.py to irmc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/metrics.py to metrics.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/metrics_statsd.py to metrics_statsd.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/molds.py to molds.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/neutron.py to neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/nova.py to nova.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/opts.py to opts.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/pxe.py to pxe.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/redfish.py to redfish.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/service_catalog.py to service_catalog.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/snmp.py to snmp.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/swift.py to swift.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf/xclarity.py to xclarity.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/neutron.py to neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp/none.py to none.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking/checks.py to checks.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/allocations.py to allocations.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/base_manager.py to base_manager.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/cleaning.py to cleaning.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/deployments.py to deployments.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/manager.py to manager.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/notification_utils.py to notification_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/periodics.py to periodics.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/rpcapi.py to rpcapi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/steps.py to steps.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/task_manager.py to task_manager.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor/verify.py to verify.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/api.py to api.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/conductor.py to conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/dbsync.py to dbsync.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/singleprocess.py to singleprocess.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd/status.py to status.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/version.py to version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/api.py to api.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/migration.py to migration.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py to fb3f10dd262e_add_fault_to_node_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py to f6fdb920c182_set_pxe_enabled_true.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py to f190f9d00a11_add_node_owner.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py to e918ff30eb42_resize_column_nodes_instance_info.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py to e294876e8028_add_node_network_interface.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py to dd67b91a1981_add_allocations_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py to dd34e1f1303b_add_resource_class_to_node.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py to dbefd6bdaa2c_add_default_column_to_.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py to daa1ba02d98_add_volume_connectors_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py to d2b036ae9378_add_automated_clean_field.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py to cf1a80fdb352_add_node_network_data_field.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py to ce6c4b3cf5a2_add_allocation_owner.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py to cd2c80feb331_add_node_retired_field.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py to c1846a214450_add_boot_mode_and_secure_boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py to c14cef6dfedf_populate_node_network_interface.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py to c0455649680c_port_name.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py to bcdd431ba0bf_add_fields_for_all_interfaces.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py to bb59b63f55a_add_node_driver_internal_info.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py to b9117ac17882_add_node_deploy_step.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py to b4130a7fc904_create_nodetraits_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py to b2ad35726bb0_add_node_lessee.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py to ac00b586ab95_node_indexes.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py to 9ef41f07cb58_add_node_history_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py to 9cbeefa3763f_add_port_is_smartnic.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py to 93706939026c_add_node_protected_field.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py to 868cb606a74a_add_version_field_in_base_class.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py to 82c315d60161_add_bios_settings.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py to 789acc877671_add_raid_config.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py to 664f85c2f622_add_conductor_group_to_nodes_conductors.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py to 60cf717201bc_add_standalone_ports_supported.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py to 5ea1b0d310e_added_port_group_table_and_altered_ports.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py to 5674c57409b9_replace_nostate_with_available.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py to 516faf1bb9b1_resizing_column_nodes_driver.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py to 4f399b21ae71_add_node_clean_step.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py to 493d8f27f235_add_portgroup_configuration_fields.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py to 48d6c242bb9b_add_node_tags.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py to 487deb87cc9d_add_conductor_affinity_and_online.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py to 405cfe08f18d_add_rescue_interface_to_node.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py to 3d86a077a3f2_add_port_physical_network.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py to 3cb628139ea4_nodes_add_console_enabled.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py to 3bea56f25597_add_unique_constraint_to_instance_uuid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py to 3ae36a5f5131_add_logical_name.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py to 31baaf680d2b_add_node_instance_info.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py to 2fb93ffd2af1_increase_node_name_length.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py to 2d13bc3d6bba_add_bios_config_and_interface.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py to 2bbd96b6ccb9_add_bios_fields_from_registry.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py to 2aac7e0872f6_add_deploy_templates.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py to 28c44432c9c3_add_node_description.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py to 242cc6a923b3_add_node_maintenance_reason.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py to 2353895ecfae_add_conductor_hardware_interfaces_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py to 21b331f883ef_add_provision_updated_at.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py to 1e1d5ace7dc6_add_inspection_started_at_and_.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py to 1e15e7122cc9_add_extra_column_to_deploy_templates.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py to 1d6951876d68_add_storage_interface_db_field_and_.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py to 1a59178ebdf6_add_volume_targets_table.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py to 10b163d4481e_add_port_portgroup_internal_info.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic/env.py to env.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/api.py to api.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/migration.py to migration.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/models.py to models.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/app.py to app.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/config.py to config.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/functions.py to functions.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/hooks.py to hooks.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/method.py to method.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/wsgi.py to wsgi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/auth_public_routes.py to auth_public_routes.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/json_ext.py to json_ext.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware/parsable_error.py to parsable_error.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/allocation.py to allocation.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/bios.py to bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/chassis.py to chassis.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/collection.py to collection.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/conductor.py to conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/deploy_template.py to deploy_template.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/driver.py to driver.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/event.py to event.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/node.py to node.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/notification_utils.py to notification_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/port.py to port.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/portgroup.py to portgroup.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/ramdisk.py to ramdisk.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/versions.py to versions.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/volume.py to volume.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/volume_connector.py to volume_connector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/v1/volume_target.py to volume_target.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/link.py to link.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/root.py to root.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers/version.py to version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/drac.py to drac.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/fake_hardware.py to fake_hardware.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/generic.py to generic.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/hardware_type.py to hardware_type.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/ibmc.py to ibmc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/ilo.py to ilo.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/intel_ipmi.py to intel_ipmi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/ipmi.py to ipmi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/irmc.py to irmc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/redfish.py to redfish.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/snmp.py to snmp.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/xclarity.py to xclarity.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/bios.py to bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/boot.py to boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/common.py to common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/inspect.py to inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/packaging_version.py to packaging_version.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/power.py to power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/raid.py to raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/common.py to common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity/power.py to power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library/stream_url.py to stream_url.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library/root_hints.py to root_hints.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py to facts_wwn.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py to ironic_log.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/deploy.py to deploy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/bios.py to bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/boot.py to boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/common.py to common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/console.py to console.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/firmware_processor.py to firmware_processor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/inspect.py to inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/power.py to power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/raid.py to raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/cinder.py to cinder.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/external.py to external.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage/noop.py to noop.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/bios.py to bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/boot.py to boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/firmware_utils.py to firmware_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/inspect.py to inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/power.py to power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/raid.py to raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish/vendor.py to vendor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent.py to agent.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_base.py to agent_base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_client.py to agent_client.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/agent_power.py to agent_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/boot_mode_utils.py to boot_mode_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/console_utils.py to console_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/deploy_utils.py to deploy_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/fake.py to fake.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/image_cache.py to image_cache.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/image_utils.py to image_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/inspect_utils.py to inspect_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/inspector.py to inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ipxe.py to ipxe.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/noop.py to noop.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/noop_mgmt.py to noop_mgmt.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/pxe.py to pxe.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/pxe_base.py to pxe_base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ramdisk.py to ramdisk.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/snmp.py to snmp.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/common.py to common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/flat.py to flat.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/neutron.py to neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network/noop.py to noop.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/bios.py to bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/boot.py to boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/common.py to common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/inspect.py to inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/job.py to job.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/power.py to power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/raid.py to raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac/vendor_passthru.py to vendor_passthru.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/management.py to management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/mappings.py to mappings.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/power.py to power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/raid.py to raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc/vendor.py to vendor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_allocation.py to test_allocation.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_bios.py to test_bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_chassis.py to test_chassis.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_conductor.py to test_conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_deploy_template.py to test_deploy_template.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_deployment.py to test_deployment.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_fields.py to test_fields.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_node.py to test_node.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_node_history.py to test_node_history.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_notification.py to test_notification.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_objects.py to test_objects.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_port.py to test_port.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_portgroup.py to test_portgroup.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_trait.py to test_trait.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_volume_connector.py to test_volume_connector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/test_volume_target.py to test_volume_target.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_factory.py to test_factory.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/policy_fixture.py to policy_fixture.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/raid_constants.py to raid_constants.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/stubs.py to stubs.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/test_base.py to test_base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf/test_auth.py to test_auth.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/test_conductor.py to test_conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/test_dbsync.py to test_dbsync.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd/test_status.py to test_status.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_allocations.py to test_allocations.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_api.py to test_api.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_bios_settings.py to test_bios_settings.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_chassis.py to test_chassis.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_conductor.py to test_conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_deploy_templates.py to test_deploy_templates.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_node_history.py to test_node_history.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_node_tags.py to test_node_tags.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_node_traits.py to test_node_traits.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_nodes.py to test_nodes.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_portgroups.py to test_portgroups.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_ports.py to test_ports.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_volume_connectors.py to test_volume_connectors.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/test_volume_targets.py to test_volume_targets.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_api.py to test_api.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py to test_migrations.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_models.py to test_models.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_args.py to test_args.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_cinder.py to test_cinder.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_context.py to test_context.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_driver_factory.py to test_driver_factory.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_format_inspector.py to test_format_inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_fsm.py to test_fsm.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_glance_service.py to test_glance_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_hash_ring.py to test_hash_ring.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_image_service.py to test_image_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_images.py to test_images.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_keystone.py to test_keystone.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_kickstart_utils.py to test_kickstart_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_molds.py to test_molds.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_network.py to test_network.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_neutron.py to test_neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_nova.py to test_nova.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_policy.py to test_policy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_pxe_utils.py to test_pxe_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_qemu_img.py to test_qemu_img.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_raid.py to test_raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_release_mappings.py to test_release_mappings.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_rpc.py to test_rpc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_rpc_service.py to test_rpc_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_states.py to test_states.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_swift.py to test_swift.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common/test_wsgi_service.py to test_wsgi_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_acl.py to test_acl.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_audit.py to test_audit.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_functions.py to test_functions.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_healthcheck.py to test_healthcheck.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_hooks.py to test_hooks.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_method.py to test_method.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_middleware.py to test_middleware.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_ospmiddleware.py to test_ospmiddleware.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_proxy_middleware.py to test_proxy_middleware.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/test_root.py to test_root.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_allocation.py to test_allocation.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_chassis.py to test_chassis.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_collection.py to test_collection.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_conductor.py to test_conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_deploy_template.py to test_deploy_template.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_driver.py to test_driver.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_event.py to test_event.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_node.py to test_node.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_notification_utils.py to test_notification_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_port.py to test_port.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_portgroup.py to test_portgroup.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_ramdisk.py to test_ramdisk.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_root.py to test_root.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_versions.py to test_versions.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_volume.py to test_volume.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_connector.py to test_volume_connector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_target.py to test_volume_target.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/test_base.py to test_base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/mgr_utils.py to mgr_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_allocations.py to test_allocations.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_base_manager.py to test_base_manager.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_cleaning.py to test_cleaning.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_deployments.py to test_deployments.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_manager.py to test_manager.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_notification_utils.py to test_notification_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_periodics.py to test_periodics.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_steps.py to test_steps.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_task_manager.py to test_task_manager.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor/test_verify.py to test_verify.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py to test_cinder.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/storage/test_external.py to test_external.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ansible/test_deploy.py to test_deploy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_power.py to test_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_raid.py to test_raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py to test_vendor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py to test_bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_boot.py to test_boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_common.py to test_common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py to test_inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_job.py to test_job.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py to test_periodic_task.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_power.py to test_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py to test_raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/drac/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_bios.py to test_bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py to test_boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py to test_common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py to test_inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py to test_periodic_task.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py to test_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/irmc/test_raid.py to test_raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_common.py to test_common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_power.py to test_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py to test_intel_ipmi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent.py to test_agent.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent_base.py to test_agent_base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent_client.py to test_agent_client.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_agent_power.py to test_agent_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py to test_boot_mode_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_console_utils.py to test_console_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py to test_deploy_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_image_cache.py to test_image_cache.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_image_utils.py to test_image_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_inspect_utils.py to test_inspect_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_inspector.py to test_inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py to test_ipmitool.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_ipxe.py to test_ipxe.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_noop.py to test_noop.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_noop_mgmt.py to test_noop_mgmt.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_pxe.py to test_pxe.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_ramdisk.py to test_ramdisk.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/test_snmp.py to test_snmp.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_common.py to test_common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_flat.py to test_flat.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py to test_neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/network/test_noop.py to test_noop.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_bios.py to test_bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py to test_boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py to test_common.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py to test_console.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py to test_firmware_processor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py to test_inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py to test_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_raid.py to test_raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py to test_vendor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_bios.py to test_bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_boot.py to test_boot.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py to test_firmware_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_inspect.py to test_inspect.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py to test_management.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py to test_power.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_raid.py to test_raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/redfish/test_vendor.py to test_vendor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_base.py to test_base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_drac.py to test_drac.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_fake_hardware.py to test_fake_hardware.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_generic.py to test_generic.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_ibmc.py to test_ibmc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_ilo.py to test_ilo.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_ipmi.py to test_ipmi.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_irmc.py to test_irmc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_redfish.py to test_redfish.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_snmp.py to test_snmp.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_utils.py to test_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/test_xclarity.py to test_xclarity.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py to third_party_driver_mock_specs.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py to third_party_driver_mocks.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/allocation.py to allocation.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/base.py to base.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/bios.py to bios.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/chassis.py to chassis.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/conductor.py to conductor.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/deploy_template.py to deploy_template.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/deployment.py to deployment.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/fields.py to fields.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/indirection.py to indirection.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/node.py to node.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/node_history.py to node_history.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/notification.py to notification.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/port.py to port.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/portgroup.py to portgroup.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/trait.py to trait.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/volume_connector.py to volume_connector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects/volume_target.py to volume_target.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service/image_service.py to image_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service/service_utils.py to service_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/__init__.py to __init__.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/args.py to args.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/boot_devices.py to boot_devices.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/boot_modes.py to boot_modes.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/cinder.py to cinder.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/components.py to components.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/config.py to config.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/context.py to context.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/dhcp_factory.py to dhcp_factory.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/driver_factory.py to driver_factory.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/exception.py to exception.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/faults.py to faults.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/fsm.py to fsm.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/hash_ring.py to hash_ring.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/i18n.py to i18n.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/image_format_inspector.py to image_format_inspector.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/image_service.py to image_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/images.py to images.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/indicator_states.py to indicator_states.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/keystone.py to keystone.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/kickstart_utils.py to kickstart_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/molds.py to molds.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/network.py to network.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/neutron.py to neutron.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/nova.py to nova.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/policy.py to policy.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/profiler.py to profiler.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/pxe_utils.py to pxe_utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/qemu_img.py to qemu_img.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/raid.py to raid.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/release_mappings.py to release_mappings.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/rpc.py to rpc.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/rpc_service.py to rpc_service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/service.py to service.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/states.py to states.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/swift.py to swift.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/utils.py to utils.cpython-39.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/wsgi_service.py to wsgi_service.cpython-39.pyc writing byte-compilation script '/tmp/tmpr8g17dkq.py' /usr/bin/python3 /tmp/tmpr8g17dkq.py removing /tmp/tmpr8g17dkq.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic/rootwrap.d/ running install_egg_info running egg_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt Copying ironic.egg-info to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9/site-packages/ironic-20.1.4.dev7-py3.9.egg-info running install_scripts Installing ironic script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/bin/__pycache__ + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-dnsmasq-tftp-server.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic.service /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-sudoers /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/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-20.1.4-0.20240907171316.a859de6.el9.x86_64//etc/ironic/ironic.conf + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf + mv /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64//usr/share/ironic/ironic-dist.conf + install -p -D -m 644 /builddir/build/SOURCES/dnsmasq-tftp-server.conf /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64//etc/ironic/dnsmasq-tftp-server.conf + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 20.1.4-0.20240907171316.a859de6.el9 --unique-debug-suffix -20.1.4-0.20240907171316.a859de6.el9.x86_64 --unique-debug-src-base openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 --remove-section .gnu.build.attributes -S debugsourcefiles.list /builddir/build/BUILD/ironic-20.1.4.dev7 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-20.1.4-0.20240907171316.a859de6.el9.x86_64/usr/lib/python3.9 using python3.9 + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-mangle-shebangs mangling shebang in /usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh from /bin/sh to #!/usr/bin/sh Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.ECnc9Y + umask 022 + cd /builddir/build/BUILD + cd ironic-20.1.4.dev7 + PYTHON=/usr/bin/python3 + stestr run INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 2024-09-07 13:17:16.348 3109498 INFO alembic.runtime.migration [req-8d292a7d-925e-4a68-8bb9-8d3046c49632 - - - - -] Context impl SQLiteImpl. 2024-09-07 13:17:16.349 3109498 INFO alembic.runtime.migration [req-8d292a7d-925e-4a68-8bb9-8d3046c49632 - - - - -] Will assume non-transactional DDL. {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.159632s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.023020s] ... ok {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.026426s] ... ok 2024-09-07 13:17:16.246 3109488 INFO alembic.runtime.migration [req-c2ee8c7a-77b0-49f5-ab39-1b76770940f0 - - - - -] Context impl SQLiteImpl. 2024-09-07 13:17:16.247 3109488 INFO alembic.runtime.migration [req-c2ee8c7a-77b0-49f5-ab39-1b76770940f0 - - - - -] Will assume non-transactional DDL. {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.165674s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.020869s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.031429s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.033736s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.107582s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.083123s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.027107s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.029120s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.032537s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.034017s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.032438s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.024866s] ... ok INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.067446s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.033548s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.027721s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.026023s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.025275s] ... ok 2024-09-07 13:17:16.734 3109505 INFO alembic.runtime.migration [req-e14853e6-4267-4b86-b436-99b28aa02b24 - - - - -] Context impl SQLiteImpl. 2024-09-07 13:17:16.735 3109505 INFO alembic.runtime.migration [req-e14853e6-4267-4b86-b436-99b28aa02b24 - - - - -] Will assume non-transactional DDL. {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.039215s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.227563s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.056966s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.049580s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.025033s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.021023s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.029542s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.022148s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.037877s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.032365s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.063935s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.032605s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.042529s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.062285s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.026016s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.059668s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.028818s] ... ok GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 204 No Content Openstack-Request-Id: req-f181f7d0-fafd-47f1-8c6d-37e6d0eea04a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/33b51275-4b53-4490-9081-6a76597ea3ca/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0bc38231-88b7-47e4-828c-3d973d198548 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 33b51275-4b53-4490-9081-6a76597ea3ca was not found\", \"debuginfo\": null}"} GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1dfcae92-69f6-441d-abfe-1156b07b5a2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/node/a2b61f89-f4f3-4fe9-92d3-43b341be5098/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'allocations': [{'uuid': '55a81e64-c2f5-45f3-be1a-ada79bde227f', 'created_at': '2024-09-07T17:17:16.671980+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/55a81e64-c2f5-45f3-be1a-ada79bde227f', 'rel': 'self'}, {'href': 'http://localhost/allocations/55a81e64-c2f5-45f3-be1a-ada79bde227f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?node=banana {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c235d7f6-870f-476c-b797-893395aa147f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{'uuid': 'aa164da3-dc8d-4983-b26a-46a52a0bfae4', 'created_at': '2024-09-07T17:17:16.739649+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/aa164da3-dc8d-4983-b26a-46a52a0bfae4', 'rel': 'self'}, {'href': 'http://localhost/allocations/aa164da3-dc8d-4983-b26a-46a52a0bfae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?fields=node_uuid&limit=2 {} GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/a29a4260-5681-4cda-ae92-10725c2481d0', 'rel': 'self'}, {'href': 'http://localhost/allocations/a29a4260-5681-4cda-ae92-10725c2481d0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/a7e41c31-f2c1-42fc-81ce-21a3687bd26e', 'rel': 'self'}, {'href': 'http://localhost/allocations/a7e41c31-f2c1-42fc-81ce-21a3687bd26e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=a7e41c31-f2c1-42fc-81ce-21a3687bd26e'} GET: /v1/allocations/768ff347-2414-43bb-b047-9a70df912e0a?fields=owner {} GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/768ff347-2414-43bb-b047-9a70df912e0a', 'rel': 'self'}, {'href': 'http://localhost/allocations/768ff347-2414-43bb-b047-9a70df912e0a', 'rel': 'bookmark'}]} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'c8cebe9e-a3cf-4cf5-b776-6fe3a00d7300', 'created_at': '2024-09-07T17:17:16.849376+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c8cebe9e-a3cf-4cf5-b776-6fe3a00d7300', 'rel': 'self'}, {'href': 'http://localhost/allocations/c8cebe9e-a3cf-4cf5-b776-6fe3a00d7300', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '82164f02-27ef-4eed-8bd9-05f75c861c1c', 'created_at': '2024-09-07T17:17:16.850343+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/82164f02-27ef-4eed-8bd9-05f75c861c1c', 'rel': 'self'}, {'href': 'http://localhost/allocations/82164f02-27ef-4eed-8bd9-05f75c861c1c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ca902f05-59ad-4a51-94f6-f082474296fe', 'created_at': '2024-09-07T17:17:16.851284+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/ca902f05-59ad-4a51-94f6-f082474296fe', 'rel': 'self'}, {'href': 'http://localhost/allocations/ca902f05-59ad-4a51-94f6-f082474296fe', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a8d90d6a-cb72-4917-8aed-94d30b175e94', 'created_at': '2024-09-07T17:17:16.852144+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation3', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a8d90d6a-cb72-4917-8aed-94d30b175e94', 'rel': 'self'}, {'href': 'http://localhost/allocations/a8d90d6a-cb72-4917-8aed-94d30b175e94', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ecf7c2ea-4263-4a97-9404-2b4529d1bf1e', 'created_at': '2024-09-07T17:17:16.853022+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation4', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/ecf7c2ea-4263-4a97-9404-2b4529d1bf1e', 'rel': 'self'}, {'href': 'http://localhost/allocations/ecf7c2ea-4263-4a97-9404-2b4529d1bf1e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '93b0d7a3-d075-462c-be01-1c77bdff0e38', 'created_at': '2024-09-07T17:17:16.889681+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/93b0d7a3-d075-462c-be01-1c77bdff0e38', 'rel': 'self'}, {'href': 'http://localhost/allocations/93b0d7a3-d075-462c-be01-1c77bdff0e38', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} PATCH: /v1/allocations/e227c097-1e7d-42eb-bce5-b7cb102ae416 [{'path': '/uuid', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.030062s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.031959s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.022045s] ... ok 2024-09-07 13:17:16.990 3109485 INFO alembic.runtime.migration [req-c1cb9b7c-7864-4cab-82fc-c73595c51cac - - - - -] Context impl SQLiteImpl. 2024-09-07 13:17:16.990 3109485 INFO alembic.runtime.migration [req-c1cb9b7c-7864-4cab-82fc-c73595c51cac - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.049862s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.050987s] ... ok INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.319348s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.041853s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.027379s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.035233s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.017898s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.023293s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.086830s] ... ok DELETE: /v1/allocations/alloc1 GOT:Response: 204 No Content Openstack-Request-Id: req-d98471c8-fc1f-466e-9bc9-bf90e538fec3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/allocations/alloc1.json GOT:Response: 204 No Content Openstack-Request-Id: req-43a209dc-6f3c-43eb-80e1-7ee1cd51527c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/allocations/ba!na!na1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DELETE: /v1/allocations/eab40178-4520-430a-8dae-a7c15ee175cf GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5d10c609-eed1-447b-810f-a475932b68a5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/allocations?owner=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-502b9577-a75d-455c-8201-5f6484953263 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3f28e9b7-109d-40ee-a57b-d525b8df37fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/allocations/dec7c203-b453-4239-ac0a-bd86b9d01f7e {} GOT:{'uuid': 'dec7c203-b453-4239-ac0a-bd86b9d01f7e', 'created_at': '2024-09-07T17:17:16.767677+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/dec7c203-b453-4239-ac0a-bd86b9d01f7e', 'rel': 'self'}, {'href': 'http://localhost/allocations/dec7c203-b453-4239-ac0a-bd86b9d01f7e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/dec7c203-b453-4239-ac0a-bd86b9d01f7e {} GOT:{'uuid': 'dec7c203-b453-4239-ac0a-bd86b9d01f7e', 'created_at': '2024-09-07T17:17:16.767677+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/dec7c203-b453-4239-ac0a-bd86b9d01f7e', 'rel': 'self'}, {'href': 'http://localhost/allocations/dec7c203-b453-4239-ac0a-bd86b9d01f7e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations {} GOT:{'allocations': []} GET: /v1/allocations?owner=12345 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-131e833d-ea4c-4c15-bd61-0cda9b795b9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/allocations?state=allocating {} GOT:{'allocations': [{'uuid': '5c009570-cf00-4b8c-9c0d-94e789009284', 'created_at': '2024-09-07T17:17:16.858542+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5c009570-cf00-4b8c-9c0d-94e789009284', 'rel': 'self'}, {'href': 'http://localhost/allocations/5c009570-cf00-4b8c-9c0d-94e789009284', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'c777a5a8-e8a4-4df1-87e9-ab84123f1f42', 'created_at': '2024-09-07T17:17:16.859513+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c777a5a8-e8a4-4df1-87e9-ab84123f1f42', 'rel': 'self'}, {'href': 'http://localhost/allocations/c777a5a8-e8a4-4df1-87e9-ab84123f1f42', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '4e5aad88-5bb1-4769-8828-c3bbb70c8185', 'created_at': '2024-09-07T17:17:16.860430+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4e5aad88-5bb1-4769-8828-c3bbb70c8185', 'rel': 'self'}, {'href': 'http://localhost/allocations/4e5aad88-5bb1-4769-8828-c3bbb70c8185', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/6fbb346a-d1ba-4318-9293-0953a3afa2db', 'rel': 'self'}, {'href': 'http://localhost/allocations/6fbb346a-d1ba-4318-9293-0953a3afa2db', 'rel': 'bookmark'}]} GET: /v1/allocations/3a6375d6-b4f6-493a-b624-3ec3cca67a57.json {} GOT:{'uuid': '3a6375d6-b4f6-493a-b624-3ec3cca67a57', 'created_at': '2024-09-07T17:17:16.952129+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/3a6375d6-b4f6-493a-b624-3ec3cca67a57', 'rel': 'self'}, {'href': 'http://localhost/allocations/3a6375d6-b4f6-493a-b624-3ec3cca67a57', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/5494c052-cd24-45bc-a638-ca474b35dbf5 {} GOT:{'uuid': '5494c052-cd24-45bc-a638-ca474b35dbf5', 'created_at': '2024-09-07T17:17:16.980736+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'pg.1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5494c052-cd24-45bc-a638-ca474b35dbf5', 'rel': 'self'}, {'href': 'http://localhost/allocations/5494c052-cd24-45bc-a638-ca474b35dbf5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353 {} GOT:{'uuid': '4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'created_at': '2024-09-07T17:17:17.033313+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'rel': 'self'}, {'href': 'http://localhost/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353 {} GOT:{'uuid': '4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'created_at': '2024-09-07T17:17:17.033313+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'rel': 'self'}, {'href': 'http://localhost/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353 {} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.068800s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.040059s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.044767s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.029168s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.024726s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.042465s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.044361s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.039369s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.062633s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.035681s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.057036s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.043286s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.037242s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.024838s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.035855s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.065040s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.082952s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.027449s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.051422s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3d194766-0f13-48b9-9f10-46a53f0be5e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"} PATCH: /v1/allocations/0518e01d-40a3-488e-85ff-fef5022b9475 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9da74f46-e693-41df-8a9e-a95f42650ef9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "0518e01d-40a3-488e-85ff-fef5022b9475", "created_at": "2024-09-07T17:17:16.949515+00:00", "updated_at": "2024-09-07T17:17:16.956971+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0518e01d-40a3-488e-85ff-fef5022b9475", "rel": "self"}, {"href": "http://localhost/allocations/0518e01d-40a3-488e-85ff-fef5022b9475", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/0518e01d-40a3-488e-85ff-fef5022b9475 {} GOT:{'uuid': '0518e01d-40a3-488e-85ff-fef5022b9475', 'created_at': '2024-09-07T17:17:16.949515+00:00', 'updated_at': '2024-09-07T17:17:16.956971+00:00', 'candidate_nodes': [], 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/0518e01d-40a3-488e-85ff-fef5022b9475', 'rel': 'self'}, {'href': 'http://localhost/allocations/0518e01d-40a3-488e-85ff-fef5022b9475', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/4c4a6e2a-14d1-4c9e-9919-9cf7c26815ef [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f84d5213-6030-468b-8a42-24d36bba68d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 4c4a6e2a-14d1-4c9e-9919-9cf7c26815ef could not be found.\", \"debuginfo\": null}"} PATCH: /v1/allocations/ffc44411-e5e3-48f3-b0cd-70c30986c4c4 [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1a3d1c8-93ff-4b87-ab23-a346b88a5963 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /owner. Only the following can be updated: name, extra\", \"debuginfo\": null}"} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3346b463-1b62-4d5a-9fee-7c58398a3a3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.57 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot set node when creating an allocation in this API version\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f5eee40a-3bec-4658-b03c-7c1217b92c6c', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e151863a-e1bd-4af5-9e9e-2d3afb686239 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a9fea294-4c24-4861-be55-086edf2809ad', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-868f5174-a9ac-4469-8860-54bc49c7fb6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '3abd168d-7c1f-49e4-8d19-04e5ca2a4105', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3abd168d-7c1f-49e4-8d19-04e5ca2a4105 Openstack-Request-Id: req-81f4bf49-3afc-4abc-bb9e-811cfefbffac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3abd168d-7c1f-49e4-8d19-04e5ca2a4105", "created_at": "2024-09-07T17:17:17.220923+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": "foo", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3abd168d-7c1f-49e4-8d19-04e5ca2a4105", "rel": "self"}, {"href": "http://localhost/allocations/3abd168d-7c1f-49e4-8d19-04e5ca2a4105", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/3abd168d-7c1f-49e4-8d19-04e5ca2a4105 {} GOT:{'uuid': '3abd168d-7c1f-49e4-8d19-04e5ca2a4105', 'created_at': '2024-09-07T17:17:17.220923+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'foo', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/3abd168d-7c1f-49e4-8d19-04e5ca2a4105', 'rel': 'self'}, {'href': 'http://localhost/allocations/3abd168d-7c1f-49e4-8d19-04e5ca2a4105', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '88222bfc-9c01-4fc8-9667-93c7ed6c205c', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/88222bfc-9c01-4fc8-9667-93c7ed6c205c Openstack-Request-Id: req-0b1621a9-344b-4933-9fe4-7cb0020c73ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "88222bfc-9c01-4fc8-9667-93c7ed6c205c", "created_at": "2024-09-07T17:17:17.251832+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/88222bfc-9c01-4fc8-9667-93c7ed6c205c", "rel": "self"}, {"href": "http://localhost/allocations/88222bfc-9c01-4fc8-9667-93c7ed6c205c", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/88222bfc-9c01-4fc8-9667-93c7ed6c205c {} GOT:{'uuid': '88222bfc-9c01-4fc8-9667-93c7ed6c205c', 'created_at': '2024-09-07T17:17:17.251832+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/88222bfc-9c01-4fc8-9667-93c7ed6c205c', 'rel': 'self'}, {'href': 'http://localhost/allocations/88222bfc-9c01-4fc8-9667-93c7ed6c205c', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6076e29b-b627-4a46-8c31-c846f1a1ba30', 'owner': None} {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.029157s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.040921s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_deprecated_without_owner [0.036656s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.028953s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.072614s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.050687s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.038642s] ... ok DELETE: /v1/allocations/0df1e503-91a4-4a92-9b21-57cc9bfdac45 GOT:Response: 204 No Content Openstack-Request-Id: req-30008b06-49a8-4155-be73-27badf27ba7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d1e11cbb-7384-4828-acb7-106fd94ebb64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/00edd1ef-999e-4334-a29a-d08466b6062e/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8ca0f8ca-ac55-4be7-962f-e7bb7beb7191 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 00edd1ef-999e-4334-a29a-d08466b6062e could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'dde25183-8318-4494-8ba1-a43b226d8fca', 'created_at': '2024-09-07T17:17:17.054447+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/dde25183-8318-4494-8ba1-a43b226d8fca', 'rel': 'self'}, {'href': 'http://localhost/allocations/dde25183-8318-4494-8ba1-a43b226d8fca', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '8c8db34f-4602-4279-ad2a-b507ce33739b', 'created_at': '2024-09-07T17:17:17.055394+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/8c8db34f-4602-4279-ad2a-b507ce33739b', 'rel': 'self'}, {'href': 'http://localhost/allocations/8c8db34f-4602-4279-ad2a-b507ce33739b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'e111d404-21de-49b3-9afd-975e9d93af75', 'created_at': '2024-09-07T17:17:17.056287+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/e111d404-21de-49b3-9afd-975e9d93af75', 'rel': 'self'}, {'href': 'http://localhost/allocations/e111d404-21de-49b3-9afd-975e9d93af75', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'c734a3ed-a7d4-4f5b-bc28-02a149ad0d9e', 'created_at': '2024-09-07T17:17:17.057160+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c734a3ed-a7d4-4f5b-bc28-02a149ad0d9e', 'rel': 'self'}, {'href': 'http://localhost/allocations/c734a3ed-a7d4-4f5b-bc28-02a149ad0d9e', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '51bde866-ace1-42f7-901a-2bd837f2eee1', 'created_at': '2024-09-07T17:17:17.058052+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/51bde866-ace1-42f7-901a-2bd837f2eee1', 'rel': 'self'}, {'href': 'http://localhost/allocations/51bde866-ace1-42f7-901a-2bd837f2eee1', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/allocations/e8a2eb29-eff5-4167-8701-635d6001750b {} GOT:{'uuid': 'e8a2eb29-eff5-4167-8701-635d6001750b', 'created_at': '2024-09-07T17:17:17.091900+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/e8a2eb29-eff5-4167-8701-635d6001750b', 'rel': 'self'}, {'href': 'http://localhost/allocations/e8a2eb29-eff5-4167-8701-635d6001750b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/node/660f1a44-f7ad-41cd-85aa-e3cdd0c073aa/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations/?limit=3 {} GOT:{'allocations': [{'uuid': 'e49fd82f-f695-4303-8b8b-8d62145ea520', 'created_at': '2024-09-07T17:17:17.151537+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/e49fd82f-f695-4303-8b8b-8d62145ea520', 'rel': 'self'}, {'href': 'http://localhost/allocations/e49fd82f-f695-4303-8b8b-8d62145ea520', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'cdae4151-1b48-4af1-9712-cd4488c38599', 'created_at': '2024-09-07T17:17:17.152520+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/cdae4151-1b48-4af1-9712-cd4488c38599', 'rel': 'self'}, {'href': 'http://localhost/allocations/cdae4151-1b48-4af1-9712-cd4488c38599', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'b48d4096-a64e-419c-8e83-2a46c75e585c', 'created_at': '2024-09-07T17:17:17.154025+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/b48d4096-a64e-419c-8e83-2a46c75e585c', 'rel': 'self'}, {'href': 'http://localhost/allocations/b48d4096-a64e-419c-8e83-2a46c75e585c', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=b48d4096-a64e-419c-8e83-2a46c75e585c'} GET: /v1/allocations/15116806-cc91-45a6-b60d-b012990c8c25?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-28cf033e-aff2-4ad1-adee-7d8a6c79f7c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/allocations/a9711751-f492-4c7c-bee6-f2780b095f5d?fields=resource_class,extra {} GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/a9711751-f492-4c7c-bee6-f2780b095f5d', 'rel': 'self'}, {'href': 'http://localhost/allocations/a9711751-f492-4c7c-bee6-f2780b095f5d', 'rel': 'bookmark'}]} GET: /v1/allocations/99346dea-edbd-4902-8005-4d538791028c {} GOT:{'uuid': '99346dea-edbd-4902-8005-4d538791028c', 'created_at': '2024-09-07T17:17:17.327174+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'pg.json', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/99346dea-edbd-4902-8005-4d538791028c', 'rel': 'self'}, {'href': 'http://localhost/allocations/99346dea-edbd-4902-8005-4d538791028c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?sort_key=uuid {} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.054302s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.052689s] ... ok GOT:{'uuid': '4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'created_at': '2024-09-07T17:17:17.033313+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'rel': 'self'}, {'href': 'http://localhost/allocations/4b3b50aa-fd5d-4b0f-a4ee-8f6bf6002353', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ba40aa65-80d2-4c0f-8c4a-f51588225c29 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/allocations?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8b5cdc2-7aa5-40d8-a453-c34a0d9cb4ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/allocations?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b35de85f-cc04-4897-9686-b1f0d5d4d12f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"internal_info\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/allocations?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c78990b-9e32-4a6c-9763-7c601996b7ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-98559a93-dc35-49a3-8aae-dfa03bf4e1a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6e7f7ecb-afed-4d60-ac26-1add37bfb364", "created_at": "2024-09-07T17:17:17.114148+00:00", "updated_at": "2024-09-07T17:17:17.124731+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo3": "bar3"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364", "rel": "self"}, {"href": "http://localhost/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364 {} GOT:{'uuid': '6e7f7ecb-afed-4d60-ac26-1add37bfb364', 'created_at': '2024-09-07T17:17:17.114148+00:00', 'updated_at': '2024-09-07T17:17:17.124731+00:00', 'candidate_nodes': [], 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364', 'rel': 'self'}, {'href': 'http://localhost/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d9344b10-1b12-42d3-8886-93a2f2da7810 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6e7f7ecb-afed-4d60-ac26-1add37bfb364", "created_at": "2024-09-07T17:17:17.114148+00:00", "updated_at": "2024-09-07T17:17:17.134910+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364", "rel": "self"}, {"href": "http://localhost/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364 {} GOT:{'uuid': '6e7f7ecb-afed-4d60-ac26-1add37bfb364', 'created_at': '2024-09-07T17:17:17.114148+00:00', 'updated_at': '2024-09-07T17:17:17.134910+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364', 'rel': 'self'}, {'href': 'http://localhost/allocations/6e7f7ecb-afed-4d60-ac26-1add37bfb364', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/db71cd25-8fb5-4483-8abc-4c7571a2908a [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-572fbd0e-4803-4637-bc26-df116a5c1d0c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/allocations/6e450c04-d77d-4e08-996b-831d536d8201 [{'path': '/extra/a', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0396a3d-4603-435e-96a5-def495873bbc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6e450c04-d77d-4e08-996b-831d536d8201", "created_at": "2024-09-07T17:17:17.207784+00:00", "updated_at": "2024-09-07T17:17:17.215658+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6e450c04-d77d-4e08-996b-831d536d8201", "rel": "self"}, {"href": "http://localhost/allocations/6e450c04-d77d-4e08-996b-831d536d8201", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/6e450c04-d77d-4e08-996b-831d536d8201 {} GOT:{'uuid': '6e450c04-d77d-4e08-996b-831d536d8201', 'created_at': '2024-09-07T17:17:17.207784+00:00', 'updated_at': '2024-09-07T17:17:17.215658+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6e450c04-d77d-4e08-996b-831d536d8201', 'rel': 'self'}, {'href': 'http://localhost/allocations/6e450c04-d77d-4e08-996b-831d536d8201', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/12fcea1f-84c6-4779-9c34-c091aa79c825 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-52d4b886-6ac4-4764-8c6c-22aa3467c3b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow updating allocations\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '67c8d60a-d3ab-45c5-aa2e-255704283a45', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.154327s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.054625s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.056637s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.021768s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.034173s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.021089s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.105967s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.020603s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.109291s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.030936s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.023845s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.028787s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.039603s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.059467s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.046670s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.057390s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1131: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) count = query.update(values) /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1131: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) count = query.update(values) {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.148397s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1131: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) count = query.update(values) DELETE: /v1/allocations/622904d7-c58d-46bc-bcb7-33ef319e72b3 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations/54ff57d8-7518-409b-a45e-128a3a2518b1 {} GOT:{'uuid': '54ff57d8-7518-409b-a45e-128a3a2518b1', 'created_at': '2024-09-07T17:17:17.234404+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/54ff57d8-7518-409b-a45e-128a3a2518b1', 'rel': 'self'}, {'href': 'http://localhost/allocations/54ff57d8-7518-409b-a45e-128a3a2518b1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': 'd382e33a-8251-4a4f-8e3d-5b5aeb74b1a1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/d382e33a-8251-4a4f-8e3d-5b5aeb74b1a1', 'rel': 'self'}, {'href': 'http://localhost/allocations/d382e33a-8251-4a4f-8e3d-5b5aeb74b1a1', 'rel': 'bookmark'}]}, {'uuid': '3115b549-9611-45f6-93a1-8b7738c42672', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/3115b549-9611-45f6-93a1-8b7738c42672', 'rel': 'self'}, {'href': 'http://localhost/allocations/3115b549-9611-45f6-93a1-8b7738c42672', 'rel': 'bookmark'}]}, {'uuid': '7fb94a46-40af-4631-b0d6-f0106c67411a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7fb94a46-40af-4631-b0d6-f0106c67411a', 'rel': 'self'}, {'href': 'http://localhost/allocations/7fb94a46-40af-4631-b0d6-f0106c67411a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=7fb94a46-40af-4631-b0d6-f0106c67411a'} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'c049ab96-44d2-4d2c-86e5-037a0cc43e1e', 'created_at': '2024-09-07T17:17:17.317470+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c049ab96-44d2-4d2c-86e5-037a0cc43e1e', 'rel': 'self'}, {'href': 'http://localhost/allocations/c049ab96-44d2-4d2c-86e5-037a0cc43e1e', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'b166eb9f-34cf-41b0-aac2-fd262299efa3', 'created_at': '2024-09-07T17:17:17.318415+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/b166eb9f-34cf-41b0-aac2-fd262299efa3', 'rel': 'self'}, {'href': 'http://localhost/allocations/b166eb9f-34cf-41b0-aac2-fd262299efa3', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '2e0bc1ee-ff2b-4cf0-98ac-986ff5d89d6a', 'created_at': '2024-09-07T17:17:17.319293+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/2e0bc1ee-ff2b-4cf0-98ac-986ff5d89d6a', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e0bc1ee-ff2b-4cf0-98ac-986ff5d89d6a', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=2e0bc1ee-ff2b-4cf0-98ac-986ff5d89d6a'} GET: /v1/allocations?node=node-1 {} GOT:{'allocations': [{'uuid': 'b0a58778-c34f-4f9f-81de-47fbe80a883e', 'created_at': '2024-09-07T17:17:17.383035+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/b0a58778-c34f-4f9f-81de-47fbe80a883e', 'rel': 'self'}, {'href': 'http://localhost/allocations/b0a58778-c34f-4f9f-81de-47fbe80a883e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '718fdcdf-df53-4f56-8fd9-102003e9d16c', 'created_at': '2024-09-07T17:17:17.383978+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/718fdcdf-df53-4f56-8fd9-102003e9d16c', 'rel': 'self'}, {'href': 'http://localhost/allocations/718fdcdf-df53-4f56-8fd9-102003e9d16c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2cb8a02b-f379-40a2-90af-8cb695e9d38c', 'created_at': '2024-09-07T17:17:17.385813+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/2cb8a02b-f379-40a2-90af-8cb695e9d38c', 'rel': 'self'}, {'href': 'http://localhost/allocations/2cb8a02b-f379-40a2-90af-8cb695e9d38c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?owner=12345 {} GOT:{'allocations': [{'uuid': '4bc525ca-6672-4abe-b818-49ad1022ead7', 'created_at': '2024-09-07T17:17:17.435138+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/4bc525ca-6672-4abe-b818-49ad1022ead7', 'rel': 'self'}, {'href': 'http://localhost/allocations/4bc525ca-6672-4abe-b818-49ad1022ead7', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '265758a3-da05-4cfb-8c44-740922d1f7ff', 'created_at': '2024-09-07T17:17:17.436121+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/265758a3-da05-4cfb-8c44-740922d1f7ff', 'rel': 'self'}, {'href': 'http://localhost/allocations/265758a3-da05-4cfb-8c44-740922d1f7ff', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '53cb3615-6bd8-4e25-9d69-978398357b33', 'created_at': '2024-09-07T17:17:17.439044+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/53cb3615-6bd8-4e25-9d69-978398357b33', 'rel': 'self'}, {'href': 'http://localhost/allocations/53cb3615-6bd8-4e25-9d69-978398357b33', 'rel': 'bookmark'}], 'node_uuid': None}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/89bf5dd9-c268-42b4-9a77-cd1b256d4554 {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations?fields=uuid,extra {} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.041501s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.041484s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.072213s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.088247s] ... ok GOT:{'allocations': [{'uuid': '19894ffd-b268-4278-a995-9708e36fc147', 'created_at': '2024-09-07T17:17:17.357068+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/19894ffd-b268-4278-a995-9708e36fc147', 'rel': 'self'}, {'href': 'http://localhost/allocations/19894ffd-b268-4278-a995-9708e36fc147', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6209a4f7-dc5c-4ad1-ba36-6799ea446601', 'created_at': '2024-09-07T17:17:17.357969+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6209a4f7-dc5c-4ad1-ba36-6799ea446601', 'rel': 'self'}, {'href': 'http://localhost/allocations/6209a4f7-dc5c-4ad1-ba36-6799ea446601', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6af4cccb-35ef-449a-b7e1-80219c32dc8a', 'created_at': '2024-09-07T17:17:17.355972+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation0', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6af4cccb-35ef-449a-b7e1-80219c32dc8a', 'rel': 'self'}, {'href': 'http://localhost/allocations/6af4cccb-35ef-449a-b7e1-80219c32dc8a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/allocations?sort_key=name {} GOT:{'allocations': [{'uuid': 'd2bfef6f-2cf0-4d86-9b66-fc4567cdca99', 'created_at': '2024-09-07T17:17:17.436055+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation1', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/d2bfef6f-2cf0-4d86-9b66-fc4567cdca99', 'rel': 'self'}, {'href': 'http://localhost/allocations/d2bfef6f-2cf0-4d86-9b66-fc4567cdca99', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '6442b8e2-57c6-4871-92fc-7e241e80f039', 'created_at': '2024-09-07T17:17:17.435193+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation2', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6442b8e2-57c6-4871-92fc-7e241e80f039', 'rel': 'self'}, {'href': 'http://localhost/allocations/6442b8e2-57c6-4871-92fc-7e241e80f039', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '01bada05-9e59-4df1-94c3-41fd1fb6bed3', 'created_at': '2024-09-07T17:17:17.434313+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'allocation3', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/01bada05-9e59-4df1-94c3-41fd1fb6bed3', 'rel': 'self'}, {'href': 'http://localhost/allocations/01bada05-9e59-4df1-94c3-41fd1fb6bed3', 'rel': 'bookmark'}], 'node_uuid': None}]} PATCH: /v1/allocations/70d9ee77-dd3c-4249-a193-b9a25217dce0 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2a4e3dc6-3d9d-42f5-b1b7-aa68cd0fc8b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "70d9ee77-dd3c-4249-a193-b9a25217dce0", "created_at": "2024-09-07T17:17:17.475756+00:00", "updated_at": "2024-09-07T17:17:17.496754+00:00", "candidate_nodes": [], "extra": {"foo": "bar"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/70d9ee77-dd3c-4249-a193-b9a25217dce0", "rel": "self"}, {"href": "http://localhost/allocations/70d9ee77-dd3c-4249-a193-b9a25217dce0", "rel": "bookmark"}], "node_uuid": null} PATCH: /v1/allocations/eb05169f-070a-41e6-9141-1bb18448b955 [{'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-49f2c455-11f6-4322-bbd3-8e2ba40d3e8d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "eb05169f-070a-41e6-9141-1bb18448b955", "created_at": "2024-09-07T17:17:17.519389+00:00", "updated_at": "2024-09-07T17:17:17.527633+00:00", "candidate_nodes": [], "extra": {"foo1": "bar1", "foo2": "bar2"}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/eb05169f-070a-41e6-9141-1bb18448b955", "rel": "self"}, {"href": "http://localhost/allocations/eb05169f-070a-41e6-9141-1bb18448b955", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/eb05169f-070a-41e6-9141-1bb18448b955 {} GOT:{'uuid': 'eb05169f-070a-41e6-9141-1bb18448b955', 'created_at': '2024-09-07T17:17:17.519389+00:00', 'updated_at': '2024-09-07T17:17:17.527633+00:00', 'candidate_nodes': [], 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/eb05169f-070a-41e6-9141-1bb18448b955', 'rel': 'self'}, {'href': 'http://localhost/allocations/eb05169f-070a-41e6-9141-1bb18448b955', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/83a95aec-2b02-438d-be23-bc45c124d228 [{'path': '/name', 'value': None, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9158a9ab-eb00-40a1-9a1e-5f45996469b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "83a95aec-2b02-438d-be23-bc45c124d228", "created_at": "2024-09-07T17:17:17.551717+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/83a95aec-2b02-438d-be23-bc45c124d228", "rel": "self"}, {"href": "http://localhost/allocations/83a95aec-2b02-438d-be23-bc45c124d228", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/83a95aec-2b02-438d-be23-bc45c124d228 {} GOT:{'uuid': '83a95aec-2b02-438d-be23-bc45c124d228', 'created_at': '2024-09-07T17:17:17.551717+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/83a95aec-2b02-438d-be23-bc45c124d228', 'rel': 'self'}, {'href': 'http://localhost/allocations/83a95aec-2b02-438d-be23-bc45c124d228', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8d95a411-0d1f-453f-88f9-f1a9a2a66fae', 'owner': None, 'node': '4ad8d35f-1f74-4edf-9768-dcbb9a1e4248'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f462b52a-06e3-4db5-96bc-558ad981daa1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 4ad8d35f-1f74-4edf-9768-dcbb9a1e4248 could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.076037s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.024531s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.019931s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.024697s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.042230s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.043801s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.064380s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.094171s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1131: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) count = query.update(values) GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/6076e29b-b627-4a46-8c31-c846f1a1ba30 Openstack-Request-Id: req-48fcaa41-72b9-4e98-ae81-768d763ef89e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6076e29b-b627-4a46-8c31-c846f1a1ba30", "created_at": "2024-09-07T17:17:17.283545+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6076e29b-b627-4a46-8c31-c846f1a1ba30", "rel": "self"}, {"href": "http://localhost/allocations/6076e29b-b627-4a46-8c31-c846f1a1ba30", "rel": "bookmark"}], "node_uuid": null} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f74f40de-f107-464e-af09-a3d71bcbe0e7', 'owner': None} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6fde3c40-44a8-4ba1-8925-147d94ca93ce', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/6fde3c40-44a8-4ba1-8925-147d94ca93ce Openstack-Request-Id: req-5992af1b-e59c-46b0-b171-cd3be6d14748 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "6fde3c40-44a8-4ba1-8925-147d94ca93ce", "created_at": "2024-09-07T17:17:17.358047+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6fde3c40-44a8-4ba1-8925-147d94ca93ce", "rel": "self"}, {"href": "http://localhost/allocations/6fde3c40-44a8-4ba1-8925-147d94ca93ce", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/6fde3c40-44a8-4ba1-8925-147d94ca93ce {} GOT:{'uuid': '6fde3c40-44a8-4ba1-8925-147d94ca93ce', 'created_at': '2024-09-07T17:17:17.358047+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/6fde3c40-44a8-4ba1-8925-147d94ca93ce', 'rel': 'self'}, {'href': 'http://localhost/allocations/6fde3c40-44a8-4ba1-8925-147d94ca93ce', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9b3b84a6-f83d-4530-9b09-1da211176c22', 'owner': None} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e1e0215e-6d56-4da0-b179-00f8a0c4c2d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '5b8255c9-a925-444b-a4d0-d2f23b77ba0f'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/5b8255c9-a925-444b-a4d0-d2f23b77ba0f Openstack-Request-Id: req-620d9968-36ef-4f0b-8b6a-30ea1cc0d8dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "5b8255c9-a925-444b-a4d0-d2f23b77ba0f", "created_at": "2024-09-07T17:17:17.429643+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5b8255c9-a925-444b-a4d0-d2f23b77ba0f", "rel": "self"}, {"href": "http://localhost/allocations/5b8255c9-a925-444b-a4d0-d2f23b77ba0f", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/5b8255c9-a925-444b-a4d0-d2f23b77ba0f {} GOT:{'uuid': '5b8255c9-a925-444b-a4d0-d2f23b77ba0f', 'created_at': '2024-09-07T17:17:17.429643+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5b8255c9-a925-444b-a4d0-d2f23b77ba0f', 'rel': 'self'}, {'href': 'http://localhost/allocations/5b8255c9-a925-444b-a4d0-d2f23b77ba0f', 'rel': 'bookmark'}], 'node_uuid': None} GET: /v1/chassis?detail=True {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:17.490584+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} GET: /v1/chassis?detail=True&fields=description {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-acffaa22-5af9-4fff-b780-2739d97a3751 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-19f2768d-71ae-46fd-891d-0304a24c587f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca1348b5-bcf4-45fe-9579-5437ea9f4f32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/chassis?sort_key=uuid {} GOT:{'chassis': [{'uuid': '90e2c0b0-9f61-4e77-b596-299f18c1916f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/90e2c0b0-9f61-4e77-b596-299f18c1916f', 'rel': 'self'}, {'href': 'http://localhost/chassis/90e2c0b0-9f61-4e77-b596-299f18c1916f', 'rel': 'bookmark'}]}, {'uuid': 'fa017934-a862-4492-ab43-0f8c435e268a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/fa017934-a862-4492-ab43-0f8c435e268a', 'rel': 'self'}, {'href': 'http://localhost/chassis/fa017934-a862-4492-ab43-0f8c435e268a', 'rel': 'bookmark'}]}, {'uuid': 'fbebc571-2eca-4b30-a4c2-8dd4f4f9e150', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/fbebc571-2eca-4b30-a4c2-8dd4f4f9e150', 'rel': 'self'}, {'href': 'http://localhost/chassis/fbebc571-2eca-4b30-a4c2-8dd4f4f9e150', 'rel': 'bookmark'}]}]} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.032245s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.068825s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.118029s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.095346s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/67c8d60a-d3ab-45c5-aa2e-255704283a45 Openstack-Request-Id: req-8b38f923-8d28-47a2-97e5-82186fbac497 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "67c8d60a-d3ab-45c5-aa2e-255704283a45", "created_at": "2024-09-07T17:17:17.403861+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/67c8d60a-d3ab-45c5-aa2e-255704283a45", "rel": "self"}, {"href": "http://localhost/allocations/67c8d60a-d3ab-45c5-aa2e-255704283a45", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/67c8d60a-d3ab-45c5-aa2e-255704283a45 {} GOT:{'uuid': '67c8d60a-d3ab-45c5-aa2e-255704283a45', 'created_at': '2024-09-07T17:17:17.403861+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/67c8d60a-d3ab-45c5-aa2e-255704283a45', 'rel': 'self'}, {'href': 'http://localhost/allocations/67c8d60a-d3ab-45c5-aa2e-255704283a45', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/83c2d0ca-62f1-4122-bda1-77b32e6cacb0 Openstack-Request-Id: req-1c304117-e8da-48de-8bd5-2d4b4acecedf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "83c2d0ca-62f1-4122-bda1-77b32e6cacb0", "created_at": "2024-09-07T17:17:17.526663+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "bm-super", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/83c2d0ca-62f1-4122-bda1-77b32e6cacb0", "rel": "self"}, {"href": "http://localhost/allocations/83c2d0ca-62f1-4122-bda1-77b32e6cacb0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/83c2d0ca-62f1-4122-bda1-77b32e6cacb0 {} GOT:{'uuid': '83c2d0ca-62f1-4122-bda1-77b32e6cacb0', 'created_at': '2024-09-07T17:17:17.526663+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'bm-super', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/83c2d0ca-62f1-4122-bda1-77b32e6cacb0', 'rel': 'self'}, {'href': 'http://localhost/allocations/83c2d0ca-62f1-4122-bda1-77b32e6cacb0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '323ed358-e4f5-4fe8-9843-50a75b31d59b', 'owner': None, 'node': 'backfill-me'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/323ed358-e4f5-4fe8-9843-50a75b31d59b Openstack-Request-Id: req-461befea-fd38-477d-ba13-392acaa1fa80 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "323ed358-e4f5-4fe8-9843-50a75b31d59b", "created_at": "2024-09-07T17:17:17.598575+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/323ed358-e4f5-4fe8-9843-50a75b31d59b", "rel": "self"}, {"href": "http://localhost/allocations/323ed358-e4f5-4fe8-9843-50a75b31d59b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/323ed358-e4f5-4fe8-9843-50a75b31d59b {} GOT:{'uuid': '323ed358-e4f5-4fe8-9843-50a75b31d59b', 'created_at': '2024-09-07T17:17:17.598575+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/323ed358-e4f5-4fe8-9843-50a75b31d59b', 'rel': 'self'}, {'href': 'http://localhost/allocations/323ed358-e4f5-4fe8-9843-50a75b31d59b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2e97d7db-61a9-4f48-8a28-bd91b9d0938e', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/2e97d7db-61a9-4f48-8a28-bd91b9d0938e Openstack-Request-Id: req-cd505114-52de-46f7-a0e2-747302d9a9dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2e97d7db-61a9-4f48-8a28-bd91b9d0938e", "created_at": "2024-09-07T17:17:17.655082+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"foo": 123}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2e97d7db-61a9-4f48-8a28-bd91b9d0938e", "rel": "self"}, {"href": "http://localhost/allocations/2e97d7db-61a9-4f48-8a28-bd91b9d0938e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/2e97d7db-61a9-4f48-8a28-bd91b9d0938e {} GOT:{'uuid': '2e97d7db-61a9-4f48-8a28-bd91b9d0938e', 'created_at': '2024-09-07T17:17:17.655082+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {'foo': 123}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/2e97d7db-61a9-4f48-8a28-bd91b9d0938e', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e97d7db-61a9-4f48-8a28-bd91b9d0938e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/961adff7-c3cc-4cd7-994f-67aa1c01cf9e Openstack-Request-Id: req-12d3798b-3bdf-4f32-934a-2404e7739796 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "961adff7-c3cc-4cd7-994f-67aa1c01cf9e", "created_at": "2024-09-07T17:17:17.785100+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/961adff7-c3cc-4cd7-994f-67aa1c01cf9e", "rel": "self"}, {"href": "http://localhost/allocations/961adff7-c3cc-4cd7-994f-67aa1c01cf9e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/961adff7-c3cc-4cd7-994f-67aa1c01cf9e {} GOT:{'uuid': '961adff7-c3cc-4cd7-994f-67aa1c01cf9e', 'created_at': '2024-09-07T17:17:17.785100+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/961adff7-c3cc-4cd7-994f-67aa1c01cf9e', 'rel': 'self'}, {'href': 'http://localhost/allocations/961adff7-c3cc-4cd7-994f-67aa1c01cf9e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f2b1e5d3-92c4-460f-9721-515bd72c3c72', 'owner': None} {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.047850s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.023538s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.045920s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.074748s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a09ab593-8c9b-4b47-a461-19df41438d28 Openstack-Request-Id: req-043e00fd-e3ae-450a-a6d0-62070b63f14c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a09ab593-8c9b-4b47-a461-19df41438d28", "created_at": "2024-09-07T17:17:17.636698+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "bm-super", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a09ab593-8c9b-4b47-a461-19df41438d28", "rel": "self"}, {"href": "http://localhost/allocations/a09ab593-8c9b-4b47-a461-19df41438d28", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/allocations/a09ab593-8c9b-4b47-a461-19df41438d28 {} GOT:{'uuid': 'a09ab593-8c9b-4b47-a461-19df41438d28', 'created_at': '2024-09-07T17:17:17.636698+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'bm-super', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/a09ab593-8c9b-4b47-a461-19df41438d28', 'rel': 'self'}, {'href': 'http://localhost/allocations/a09ab593-8c9b-4b47-a461-19df41438d28', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7a57e809-86bf-4420-91ca-9a2507b6e6f8', 'owner': None} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': 'ebaaceb1-52fb-4505-bf9b-c1283ec6a6a9', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2fa4eb1-2337-4d25-86d2-09de7e26c49c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '81ed5f2b-b582-4f2b-bb73-dc47a936041e', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/81ed5f2b-b582-4f2b-bb73-dc47a936041e Openstack-Request-Id: req-c8fab9e8-1cf0-49a7-bb1f-d1c021caa269 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "81ed5f2b-b582-4f2b-bb73-dc47a936041e", "created_at": "2024-09-07T17:17:17.735632+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "123456", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/81ed5f2b-b582-4f2b-bb73-dc47a936041e", "rel": "self"}, {"href": "http://localhost/allocations/81ed5f2b-b582-4f2b-bb73-dc47a936041e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/81ed5f2b-b582-4f2b-bb73-dc47a936041e {} GOT:{'uuid': '81ed5f2b-b582-4f2b-bb73-dc47a936041e', 'created_at': '2024-09-07T17:17:17.735632+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '123456', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/81ed5f2b-b582-4f2b-bb73-dc47a936041e', 'rel': 'self'}, {'href': 'http://localhost/allocations/81ed5f2b-b582-4f2b-bb73-dc47a936041e', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c7a7c9aa-8179-40e2-844d-9bcdbf31b076', 'owner': '12345'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a049a52-28a1-4f9b-8c1f-05ce585c636d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with an owner Project ID value 12345 not matching the requestor Project ID 0987. Policy baremetal:allocation:create_restricted is required for this capability.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['node-1', '2a6dd34c-2e5d-4ad5-8025-31f0a3171399'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c287ccde-27e2-4313-b208-e85638534db1', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/c287ccde-27e2-4313-b208-e85638534db1 Openstack-Request-Id: req-527bc25f-4e5a-42ad-949c-a9b2c9d0b929 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c287ccde-27e2-4313-b208-e85638534db1", "created_at": "2024-09-07T17:17:17.820861+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "2a6dd34c-2e5d-4ad5-8025-31f0a3171399"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c287ccde-27e2-4313-b208-e85638534db1", "rel": "self"}, {"href": "http://localhost/allocations/c287ccde-27e2-4313-b208-e85638534db1", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/c287ccde-27e2-4313-b208-e85638534db1 {} GOT:{'uuid': 'c287ccde-27e2-4313-b208-e85638534db1', 'created_at': '2024-09-07T17:17:17.820861+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '2a6dd34c-2e5d-4ad5-8025-31f0a3171399'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c287ccde-27e2-4313-b208-e85638534db1', 'rel': 'self'}, {'href': 'http://localhost/allocations/c287ccde-27e2-4313-b208-e85638534db1', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '403f9411-ae3b-439e-a014-7b4b4710d30d', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/403f9411-ae3b-439e-a014-7b4b4710d30d Openstack-Request-Id: req-5353a1be-7716-47fb-afdb-ba4c5866cdd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "403f9411-ae3b-439e-a014-7b4b4710d30d", "created_at": "2024-09-07T17:17:17.882725+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "links": [{"href": "http://localhost/v1/allocations/403f9411-ae3b-439e-a014-7b4b4710d30d", "rel": "self"}, {"href": "http://localhost/allocations/403f9411-ae3b-439e-a014-7b4b4710d30d", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/403f9411-ae3b-439e-a014-7b4b4710d30d {} GOT:{'uuid': '403f9411-ae3b-439e-a014-7b4b4710d30d', 'created_at': '2024-09-07T17:17:17.882725+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'links': [{'href': 'http://localhost/v1/allocations/403f9411-ae3b-439e-a014-7b4b4710d30d', 'rel': 'self'}, {'href': 'http://localhost/allocations/403f9411-ae3b-439e-a014-7b4b4710d30d', 'rel': 'bookmark'}], 'node_uuid': None} DELETE: /v1/chassis/68e0eea0-711c-48f2-9258-c360021e3b5d {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.027849s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.037130s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.038322s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.023889s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.096245s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.023679s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.079937s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.030051s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.033274s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.036485s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.090537s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.030063s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2096abe4-d904-4eb1-b55c-c44fdb45d611 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:17.667874+00:00", "updated_at": "2024-09-07T17:17:17.676059+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "bar2"}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:17.667874+00:00', 'updated_at': '2024-09-07T17:17:17.676059+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} 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-f9a26455-b8c8-4ad9-8f9f-2c730e23e6e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:17.728520+00:00", "updated_at": "2024-09-07T17:17:17.748609+00:00", "description": "test", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} PATCH: /v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9f5360f-579a-428b-80de-319b10b01f31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "15bf1c5a-6422-4c9e-82d0-30ac581feaec", "created_at": "2024-09-07T17:17:17.798661+00:00", "updated_at": "2024-09-07T17:17:17.815582+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec", "rel": "self"}, {"href": "http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec {} GOT:{'uuid': '15bf1c5a-6422-4c9e-82d0-30ac581feaec', 'created_at': '2024-09-07T17:17:17.798661+00:00', 'updated_at': '2024-09-07T17:17:17.815582+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec', 'rel': 'self'}, {'href': 'http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1982933-7b35-40f8-ba1a-2062bdc23fb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "15bf1c5a-6422-4c9e-82d0-30ac581feaec", "created_at": "2024-09-07T17:17:17.798661+00:00", "updated_at": "2024-09-07T17:17:17.843591+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec", "rel": "self"}, {"href": "http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes", "rel": "self"}, {"href": "http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec {} GOT:{'uuid': '15bf1c5a-6422-4c9e-82d0-30ac581feaec', 'created_at': '2024-09-07T17:17:17.798661+00:00', 'updated_at': '2024-09-07T17:17:17.843591+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec', 'rel': 'self'}, {'href': 'http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/15bf1c5a-6422-4c9e-82d0-30ac581feaec/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba0245a0-f508-4a62-83d0-c4f342c60b51 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "563ee671-5c79-47c1-acfd-0d49ff5109d9", "created_at": "2024-09-07T17:17:17.929005+00:00", "updated_at": "2024-09-07T17:17:17.949903+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9", "rel": "self"}, {"href": "http://localhost/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9/nodes", "rel": "self"}, {"href": "http://localhost/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9 {} GOT:{'uuid': '563ee671-5c79-47c1-acfd-0d49ff5109d9', 'created_at': '2024-09-07T17:17:17.929005+00:00', 'updated_at': '2024-09-07T17:17:17.949903+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9', 'rel': 'self'}, {'href': 'http://localhost/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/563ee671-5c79-47c1-acfd-0d49ff5109d9/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-126d6dc4-618a-4d8c-90c4-021f334ca3a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.063501s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.033554s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.038062s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.056584s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.063668s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.028499s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.038484s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.030090s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.025478s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.065650s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6913e58c-691e-4383-b080-359f297df09c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 68e0eea0-711c-48f2-9258-c360021e3b5d could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e {} GOT:{'uuid': '43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'created_at': '2024-09-07T17:17:17.940842+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'rel': 'self'}, {'href': 'http://localhost/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e {} GOT:{'uuid': '43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'created_at': '2024-09-07T17:17:17.940842+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'rel': 'self'}, {'href': 'http://localhost/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e/nodes', 'rel': 'bookmark'}]]} GET: /chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e {} GOT:{'uuid': '43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'created_at': '2024-09-07T17:17:17.940842+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'rel': 'self'}, {'href': 'http://localhost/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/43ed45a7-dffc-4338-9955-c4c2bdf0d42e/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:17.978595+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8521044c-2d61-4a74-97e5-09720a54340b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b00f321e-8070-479d-aea4-4646b558da5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'chassis-new-description', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e265bfa-5492-4463-a3e0-271b5293713e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:18.061413+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "description": "chassis-new-description", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:18.061413+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'description': 'chassis-new-description', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} 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-76e7d672-ada8-4a8a-a646-46c67bade594 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/chassis {'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c Openstack-Request-Id: req-a302d71b-0d21-4db0-9e44-8c23ab3e7e31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c", "created_at": "2024-09-07T17:17:18.138638+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c", "rel": "self"}, {"href": "http://localhost/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c/nodes", "rel": "bookmark"}]]} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'd0bf5cda-8d73-4622-8dd2-3ba929b8bd3c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c', 'rel': 'self'}, {'href': 'http://localhost/chassis/d0bf5cda-8d73-4622-8dd2-3ba929b8bd3c', 'rel': 'bookmark'}]}]} GET: /v1/conductors?fields=hostname,alive {} {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.030950s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.018755s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.020996s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.019923s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.021682s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.052334s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.076841s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.026366s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.066002s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.023037s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.019748s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.065891s] ... ok GOT:{'allocations': [{'uuid': '89b44112-188e-49ed-aa12-103879397714', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/89b44112-188e-49ed-aa12-103879397714', 'rel': 'self'}, {'href': 'http://localhost/allocations/89b44112-188e-49ed-aa12-103879397714', 'rel': 'bookmark'}]}, {'uuid': '4da33529-2854-4630-b623-88c30a22d9ec', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/4da33529-2854-4630-b623-88c30a22d9ec', 'rel': 'self'}, {'href': 'http://localhost/allocations/4da33529-2854-4630-b623-88c30a22d9ec', 'rel': 'bookmark'}]}, {'uuid': '7a645cd0-0473-4cc6-9900-517bc2057a31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7a645cd0-0473-4cc6-9900-517bc2057a31', 'rel': 'self'}, {'href': 'http://localhost/allocations/7a645cd0-0473-4cc6-9900-517bc2057a31', 'rel': 'bookmark'}]}]} GET: /v1/allocations/f3a350ba-ef8c-48f4-aae9-557d39d31552 {} GOT:{'uuid': 'f3a350ba-ef8c-48f4-aae9-557d39d31552', 'created_at': '2024-09-07T17:17:17.660263+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/f3a350ba-ef8c-48f4-aae9-557d39d31552', 'rel': 'self'}, {'href': 'http://localhost/allocations/f3a350ba-ef8c-48f4-aae9-557d39d31552', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/allocations/fd55924d-d2a1-4c0a-be2b-3f2f9847c35b {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations/ba!na!na! {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} PATCH: /v1/allocations/a3096878-de9d-474b-9064-3c5e824a6d79 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-125d9355-2c7d-4823-b0dd-215bb3f61b97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"} PATCH: /v1/allocations/228a25a7-7dc9-4517-837a-e8f2e6a62d71 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f223c5d-6731-4993-827e-3255c513a736 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} PATCH: /v1/allocations/898b4813-3eab-4f83-bd10-de48d6e58a4e [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a4b56a8-8629-4d56-abc6-7522f0638abd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "898b4813-3eab-4f83-bd10-de48d6e58a4e", "created_at": "2024-09-07T17:17:18.041395+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": "test", "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/898b4813-3eab-4f83-bd10-de48d6e58a4e", "rel": "self"}, {"href": "http://localhost/allocations/898b4813-3eab-4f83-bd10-de48d6e58a4e", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/898b4813-3eab-4f83-bd10-de48d6e58a4e {} GOT:{'uuid': '898b4813-3eab-4f83-bd10-de48d6e58a4e', 'created_at': '2024-09-07T17:17:18.041395+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': 'test', 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/898b4813-3eab-4f83-bd10-de48d6e58a4e', 'rel': 'self'}, {'href': 'http://localhost/allocations/898b4813-3eab-4f83-bd10-de48d6e58a4e', 'rel': 'bookmark'}], 'node_uuid': None} PATCH: /v1/allocations/8481f430-aeae-4a41-bf56-c6dad5b4a3a6 [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f6862466-d2c0-44be-934b-44d2c0e9277d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '20cff8a7-5940-4029-ab09-90abc0ef5164', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/20cff8a7-5940-4029-ab09-90abc0ef5164 Openstack-Request-Id: req-17b1f20c-6e04-4a07-abb2-170f372d343b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "20cff8a7-5940-4029-ab09-90abc0ef5164", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/20cff8a7-5940-4029-ab09-90abc0ef5164", "rel": "self"}, {"href": "http://localhost/allocations/20cff8a7-5940-4029-ab09-90abc0ef5164", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/20cff8a7-5940-4029-ab09-90abc0ef5164 {} GOT:{'uuid': '20cff8a7-5940-4029-ab09-90abc0ef5164', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/20cff8a7-5940-4029-ab09-90abc0ef5164', 'rel': 'self'}, {'href': 'http://localhost/allocations/20cff8a7-5940-4029-ab09-90abc0ef5164', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a63e9c48-8550-4337-8129-bd3710e2c21e', 'owner': None} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1ccf4259-1616-444c-97fb-0ab49733abd8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '9f7fca0a-5dab-44ce-834a-42905293ffdf', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3af873c8-855d-4f40-844c-f77087cf7de0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '8096b543-cadb-4b43-9777-9ca40bc6325b', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d97babb8-13fd-4b4d-946b-5ddeeaf48f81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.028613s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.062542s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.031957s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.022700s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.033044s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.022993s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.035099s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.026743s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.083243s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.082123s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.026214s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.070887s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.026714s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.052122s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.071647s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.071301s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.074047s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.036758s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.092964s] ... ok GOT:{'conductors': [{'hostname': 'ea9c36aa-5a42-438d-b6e3-7e1e44a2bb19', 'links': [{'href': 'http://localhost/v1/conductors/ea9c36aa-5a42-438d-b6e3-7e1e44a2bb19', 'rel': 'self'}, {'href': 'http://localhost/conductors/ea9c36aa-5a42-438d-b6e3-7e1e44a2bb19', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '5b574a24-2503-460a-bfdc-c95636fae022', 'links': [{'href': 'http://localhost/v1/conductors/5b574a24-2503-460a-bfdc-c95636fae022', 'rel': 'self'}, {'href': 'http://localhost/conductors/5b574a24-2503-460a-bfdc-c95636fae022', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '6016a14e-a983-42d2-97c7-c286ec1b5825', 'links': [{'href': 'http://localhost/v1/conductors/6016a14e-a983-42d2-97c7-c286ec1b5825', 'rel': 'self'}, {'href': 'http://localhost/conductors/6016a14e-a983-42d2-97c7-c286ec1b5825', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=6016a14e-a983-42d2-97c7-c286ec1b5825'} GET: /v1/conductors {} GOT:{'conductors': []} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:18.211613+00:00', 'updated_at': '2024-09-07T17:17:18.211428+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-65badcaf-8569-43e8-9195-ecde504c0a6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/conductors?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b5d1bcb-f5db-4c0a-88f7-979eb9ef50ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/conductors?sort_key=drivers {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-af7c96ab-b9be-435a-8ea9-73ae5375dccb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 204 No Content Openstack-Request-Id: req-46472dcf-a4c4-417e-a583-b2288c27ea92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/deploy_templates/4ff85a4e-54bb-42db-8da3-4f1c610db24c.json GOT:Response: 204 No Content Openstack-Request-Id: req-5654e168-51d4-4658-896b-c5f932115a99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '9e83fb9f-ee5a-4702-9373-de3a94a96b8e', 'links': [{'href': 'http://localhost/v1/deploy_templates/9e83fb9f-ee5a-4702-9373-de3a94a96b8e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9e83fb9f-ee5a-4702-9373-de3a94a96b8e', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '3a4fdd3d-6dbd-46f8-bc4f-90c2c7ae439a', 'links': [{'href': 'http://localhost/v1/deploy_templates/3a4fdd3d-6dbd-46f8-bc4f-90c2c7ae439a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3a4fdd3d-6dbd-46f8-bc4f-90c2c7ae439a', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '13dcd4cd-0ccb-49d5-9b04-b72886ccf69d', 'links': [{'href': 'http://localhost/v1/deploy_templates/13dcd4cd-0ccb-49d5-9b04-b72886ccf69d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/13dcd4cd-0ccb-49d5-9b04-b72886ccf69d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=13dcd4cd-0ccb-49d5-9b04-b72886ccf69d'} GET: /v1/deploy_templates?detail=True {} GOT:{'deploy_templates': [{'uuid': '87745080-00b4-489e-a578-682e81a6af1a', 'created_at': '2024-09-07T17:17:18.378645+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/87745080-00b4-489e-a578-682e81a6af1a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/87745080-00b4-489e-a578-682e81a6af1a', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'a835e7ee-eeb5-40bb-8744-f9bbc405a8a8', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a835e7ee-eeb5-40bb-8744-f9bbc405a8a8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a835e7ee-eeb5-40bb-8744-f9bbc405a8a8', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?detail=False {} GOT:{'deploy_templates': [{'uuid': 'a835e7ee-eeb5-40bb-8744-f9bbc405a8a8', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a835e7ee-eeb5-40bb-8744-f9bbc405a8a8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a835e7ee-eeb5-40bb-8744-f9bbc405a8a8', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '6adb1e4c-2e93-41f1-9a2f-5ba6aea4fc01', 'links': [{'href': 'http://localhost/v1/deploy_templates/6adb1e4c-2e93-41f1-9a2f-5ba6aea4fc01', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6adb1e4c-2e93-41f1-9a2f-5ba6aea4fc01', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '5632243d-e90a-4f64-b7a3-96c1f9204454', 'links': [{'href': 'http://localhost/v1/deploy_templates/5632243d-e90a-4f64-b7a3-96c1f9204454', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5632243d-e90a-4f64-b7a3-96c1f9204454', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'c412fd1d-1573-4a83-bfe6-57a15397a1fb', 'links': [{'href': 'http://localhost/v1/deploy_templates/c412fd1d-1573-4a83-bfe6-57a15397a1fb', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c412fd1d-1573-4a83-bfe6-57a15397a1fb', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates?fields=name&limit=2 {} GOT:{'deploy_templates': [{'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/a3dbff9b-9278-4172-91b7-f53621bc2873', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a3dbff9b-9278-4172-91b7-f53621bc2873', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/f6bc5750-1e3e-4d57-a6a3-0ffede388ea3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f6bc5750-1e3e-4d57-a6a3-0ffede388ea3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=f6bc5750-1e3e-4d57-a6a3-0ffede388ea3'} GET: /v1/deploy_templates/ff3b48d7-4e3a-440c-9fa0-97969e8297d1 {} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.032827s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.035952s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.037501s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.060178s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.056449s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2b0909d-ed8d-4326-96d3-6dc3fd3d360f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2e428821-c2b1-41da-8626-6e97f9b18305', 'owner': '12345'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3a9ad837-8957-4e10-9090-617745699316 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '3a0240ac-f9e5-4606-8965-9f22dff38ad4', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75e88153-1e3d-4307-b8b9-970e792a807f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'e56d3367-40cf-4275-a95a-d706ab20e4d0', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-018a199e-4325-4bd6-90cc-bb624a1592a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected)\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae63f88c-30f1-456c-b1df-d997d7ff6a7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a95c5f14-222c-4d07-bb62-c3d41c68bc02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/chassis/?limit=3 {} GOT:{'chassis': [{'uuid': '8074b1ae-0635-4ce3-af88-95c1bbb2d8c2', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8074b1ae-0635-4ce3-af88-95c1bbb2d8c2', 'rel': 'self'}, {'href': 'http://localhost/chassis/8074b1ae-0635-4ce3-af88-95c1bbb2d8c2', 'rel': 'bookmark'}]}, {'uuid': 'ee9befed-620f-4344-8ee0-2f8f7da235cb', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ee9befed-620f-4344-8ee0-2f8f7da235cb', 'rel': 'self'}, {'href': 'http://localhost/chassis/ee9befed-620f-4344-8ee0-2f8f7da235cb', 'rel': 'bookmark'}]}, {'uuid': '5d0ffab1-2d4e-47dc-9c0a-31c4d2c0d5ee', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/5d0ffab1-2d4e-47dc-9c0a-31c4d2c0d5ee', 'rel': 'self'}, {'href': 'http://localhost/chassis/5d0ffab1-2d4e-47dc-9c0a-31c4d2c0d5ee', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=5d0ffab1-2d4e-47dc-9c0a-31c4d2c0d5ee'} GET: /v1/chassis?fields=extra,uuid {} GOT:{'chassis': [{'uuid': 'df165aeb-3eda-40f6-b3a1-06fa7bbd33ab', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/df165aeb-3eda-40f6-b3a1-06fa7bbd33ab', 'rel': 'self'}, {'href': 'http://localhost/chassis/df165aeb-3eda-40f6-b3a1-06fa7bbd33ab', 'rel': 'bookmark'}]}, {'uuid': '1c495efb-612b-46e6-a6c6-8c5f287a3935', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/1c495efb-612b-46e6-a6c6-8c5f287a3935', 'rel': 'self'}, {'href': 'http://localhost/chassis/1c495efb-612b-46e6-a6c6-8c5f287a3935', 'rel': 'bookmark'}]}, {'uuid': '492974fe-f51a-4f02-b0f6-0094ae754b27', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/492974fe-f51a-4f02-b0f6-0094ae754b27', 'rel': 'self'}, {'href': 'http://localhost/chassis/492974fe-f51a-4f02-b0f6-0094ae754b27', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=492974fe-f51a-4f02-b0f6-0094ae754b27'} GET: /v1/chassis/detail {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:18.337541+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} GET: /v1/chassis?detail=False&fields=description {} GOT:{'chassis': [{'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?fields=uuid,extra {} GOT:{'chassis': [{'uuid': '6ae5dff4-b36c-46ea-8c7f-c15356f25ec8', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/6ae5dff4-b36c-46ea-8c7f-c15356f25ec8', 'rel': 'self'}, {'href': 'http://localhost/chassis/6ae5dff4-b36c-46ea-8c7f-c15356f25ec8', 'rel': 'bookmark'}]}, {'uuid': '3a441375-cb0e-48cd-a5c0-4845a0188055', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/3a441375-cb0e-48cd-a5c0-4845a0188055', 'rel': 'self'}, {'href': 'http://localhost/chassis/3a441375-cb0e-48cd-a5c0-4845a0188055', 'rel': 'bookmark'}]}, {'uuid': '5ec9835d-3efe-4044-b59e-a87a0e95f463', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/5ec9835d-3efe-4044-b59e-a87a0e95f463', 'rel': 'self'}, {'href': 'http://localhost/chassis/5ec9835d-3efe-4044-b59e-a87a0e95f463', 'rel': 'bookmark'}]}]} GET: /v1/chassis?fields=extra&limit=2 {} GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/88809aeb-0470-431a-803c-932bc1e6c9c1', 'rel': 'self'}, {'href': 'http://localhost/chassis/88809aeb-0470-431a-803c-932bc1e6c9c1', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/7df88ff7-be82-42c9-91fb-847e29ad3747', 'rel': 'self'}, {'href': 'http://localhost/chassis/7df88ff7-be82-42c9-91fb-847e29ad3747', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=7df88ff7-be82-42c9-91fb-847e29ad3747'} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.050456s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.044624s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.049947s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.074159s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.056387s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.040850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.060935s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.057951s] ... ok POST: /v1/allocations {'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '817e67a2-1f48-45e1-b421-b3696a33f721', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/817e67a2-1f48-45e1-b421-b3696a33f721 Openstack-Request-Id: req-a3a1ba80-6622-485a-89ad-99286b52f35f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "817e67a2-1f48-45e1-b421-b3696a33f721", "created_at": "2024-09-07T17:17:18.296187+00:00", "updated_at": null, "candidate_nodes": [], "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/817e67a2-1f48-45e1-b421-b3696a33f721", "rel": "self"}, {"href": "http://localhost/allocations/817e67a2-1f48-45e1-b421-b3696a33f721", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/817e67a2-1f48-45e1-b421-b3696a33f721 {} GOT:{'uuid': '817e67a2-1f48-45e1-b421-b3696a33f721', 'created_at': '2024-09-07T17:17:18.296187+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/817e67a2-1f48-45e1-b421-b3696a33f721', 'rel': 'self'}, {'href': 'http://localhost/allocations/817e67a2-1f48-45e1-b421-b3696a33f721', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c22ce662-3ce7-42f4-9538-2a356f814f12', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/c22ce662-3ce7-42f4-9538-2a356f814f12 Openstack-Request-Id: req-4709575b-c4bd-4125-b6a9-154f169a221a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "c22ce662-3ce7-42f4-9538-2a356f814f12", "created_at": "2024-09-07T17:17:18.328025+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c22ce662-3ce7-42f4-9538-2a356f814f12", "rel": "self"}, {"href": "http://localhost/allocations/c22ce662-3ce7-42f4-9538-2a356f814f12", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/c22ce662-3ce7-42f4-9538-2a356f814f12 {} GOT:{'uuid': 'c22ce662-3ce7-42f4-9538-2a356f814f12', 'created_at': '2024-09-07T17:17:18.328025+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/c22ce662-3ce7-42f4-9538-2a356f814f12', 'rel': 'self'}, {'href': 'http://localhost/allocations/c22ce662-3ce7-42f4-9538-2a356f814f12', 'rel': 'bookmark'}], 'node_uuid': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd06b5ac1-e78d-4f02-9ac4-f3b066629da2', 'owner': '54321'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3587f7c0-1b4e-4025-9b5b-ea33a05f0798 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1c394742-dedf-4deb-a52c-f9f5e53fc96b', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1c394742-dedf-4deb-a52c-f9f5e53fc96b Openstack-Request-Id: req-1cf45f9e-e22b-457c-a95d-3012b5974391 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "1c394742-dedf-4deb-a52c-f9f5e53fc96b", "created_at": "2024-09-07T17:17:18.381154+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "12345", "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1c394742-dedf-4deb-a52c-f9f5e53fc96b", "rel": "self"}, {"href": "http://localhost/allocations/1c394742-dedf-4deb-a52c-f9f5e53fc96b", "rel": "bookmark"}], "node_uuid": null} GET: /v1/allocations/1c394742-dedf-4deb-a52c-f9f5e53fc96b {} GOT:{'uuid': '1c394742-dedf-4deb-a52c-f9f5e53fc96b', 'created_at': '2024-09-07T17:17:18.381154+00:00', 'updated_at': None, 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': '12345', 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1c394742-dedf-4deb-a52c-f9f5e53fc96b', 'rel': 'self'}, {'href': 'http://localhost/allocations/1c394742-dedf-4deb-a52c-f9f5e53fc96b', 'rel': 'bookmark'}], 'node_uuid': None} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-8d5b13f3-a624-4a14-88ad-21cfb1607269 X-Openstack-Ironic-Api-Maximum-Version: 1.78 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-52b925a3-7d14-4789-ae06-92e420d6676f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '7e7c3d96-ce84-4fa5-a3d5-581f9af7d7dd', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7e7c3d96-ce84-4fa5-a3d5-581f9af7d7dd', 'rel': 'self'}, {'href': 'http://localhost/chassis/7e7c3d96-ce84-4fa5-a3d5-581f9af7d7dd', 'rel': 'bookmark'}]}, {'uuid': '8b3ad837-2eda-4b73-b8e0-d3de22afb70f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8b3ad837-2eda-4b73-b8e0-d3de22afb70f', 'rel': 'self'}, {'href': 'http://localhost/chassis/8b3ad837-2eda-4b73-b8e0-d3de22afb70f', 'rel': 'bookmark'}]}, {'uuid': 'ef6d58f3-c5b1-4ff7-960d-c3abcdf7e054', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ef6d58f3-c5b1-4ff7-960d-c3abcdf7e054', 'rel': 'self'}, {'href': 'http://localhost/chassis/ef6d58f3-c5b1-4ff7-960d-c3abcdf7e054', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=ef6d58f3-c5b1-4ff7-960d-c3abcdf7e054'} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba711e0e-755e-44af-8ac7-35ac88e778ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?detail=False {} {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.074271s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.041151s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.026355s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.052352s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.038349s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.023140s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.021983s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.032892s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.060757s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.022652s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.035860s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.031014s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.048983s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.028533s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.023336s] ... ok POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-9d0604d0-3c89-4cd4-a8b0-9e244384e30b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:18.086860+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:18.086860+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} GET: /v1/conductors/?limit=3 {} GOT:{'conductors': [{'hostname': '16263559-1440-4ba0-903e-7b5e4196e77c', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/16263559-1440-4ba0-903e-7b5e4196e77c', 'rel': 'self'}, {'href': 'http://localhost/conductors/16263559-1440-4ba0-903e-7b5e4196e77c', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'cab21349-64ba-4ff8-af42-1e1fc4a3ab18', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/cab21349-64ba-4ff8-af42-1e1fc4a3ab18', 'rel': 'self'}, {'href': 'http://localhost/conductors/cab21349-64ba-4ff8-af42-1e1fc4a3ab18', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'c952e3d5-a61f-4686-80eb-f812b6baac5a', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/c952e3d5-a61f-4686-80eb-f812b6baac5a', 'rel': 'self'}, {'href': 'http://localhost/conductors/c952e3d5-a61f-4686-80eb-f812b6baac5a', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=c952e3d5-a61f-4686-80eb-f812b6baac5a'} GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0241561-cfd1-4229-982e-d438b85b4526 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/99d96d05-0a18-4869-93bf-fc2ebb75717a GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates/?limit=3 {} GOT:{'deploy_templates': [{'uuid': 'c6c32ab6-335b-4233-9795-4ecd44dc34ee', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/c6c32ab6-335b-4233-9795-4ecd44dc34ee', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c6c32ab6-335b-4233-9795-4ecd44dc34ee', 'rel': 'bookmark'}]}, {'uuid': 'b7c1a364-36d2-4475-8903-51be4424f8d1', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/b7c1a364-36d2-4475-8903-51be4424f8d1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b7c1a364-36d2-4475-8903-51be4424f8d1', 'rel': 'bookmark'}]}, {'uuid': '884f24a3-c5a6-4bd9-afec-f84b809f9613', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/884f24a3-c5a6-4bd9-afec-f84b809f9613', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/884f24a3-c5a6-4bd9-afec-f84b809f9613', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=884f24a3-c5a6-4bd9-afec-f84b809f9613'} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '0f57747a-772b-4302-a078-4771f98de46a', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/0f57747a-772b-4302-a078-4771f98de46a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0f57747a-772b-4302-a078-4771f98de46a', 'rel': 'bookmark'}]}, {'uuid': 'd540a861-b202-485c-9f70-1d126179edec', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d540a861-b202-485c-9f70-1d126179edec', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d540a861-b202-485c-9f70-1d126179edec', 'rel': 'bookmark'}]}, {'uuid': '8bba1946-95b5-4af6-8a97-aa389e0938a8', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/8bba1946-95b5-4af6-8a97-aa389e0938a8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8bba1946-95b5-4af6-8a97-aa389e0938a8', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=8bba1946-95b5-4af6-8a97-aa389e0938a8'} GET: /v1/deploy_templates?sort_key=name&detail=True {} GOT:{'deploy_templates': [{'uuid': '3afaa32e-b428-430d-a1ec-4487551cfb82', 'created_at': '2024-09-07T17:17:18.630038+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/3afaa32e-b428-430d-a1ec-4487551cfb82', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3afaa32e-b428-430d-a1ec-4487551cfb82', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '170d6d7e-e34c-4f03-8375-76007f6e6663', 'created_at': '2024-09-07T17:17:18.628628+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/170d6d7e-e34c-4f03-8375-76007f6e6663', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/170d6d7e-e34c-4f03-8375-76007f6e6663', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'e663138a-1568-42fc-acb9-c2da67e20898', 'created_at': '2024-09-07T17:17:18.627028+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/e663138a-1568-42fc-acb9-c2da67e20898', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e663138a-1568-42fc-acb9-c2da67e20898', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates/a6e31eac-9400-4727-8f1e-17c3823a1689?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad8e0b1b-5f57-4609-96ae-50b2b4abb8c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.047518s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.042019s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.036618s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.026553s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.103081s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.103814s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.077819s] ... ok GOT:{'uuid': 'ff3b48d7-4e3a-440c-9fa0-97969e8297d1', 'created_at': '2024-09-07T17:17:18.489016+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/ff3b48d7-4e3a-440c-9fa0-97969e8297d1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ff3b48d7-4e3a-440c-9fa0-97969e8297d1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '7d7df582-4b2d-4f38-9a92-a5510992e707', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/7d7df582-4b2d-4f38-9a92-a5510992e707', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7d7df582-4b2d-4f38-9a92-a5510992e707', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=uuid {} GOT:{'deploy_templates': [{'uuid': '18f77c9e-b71d-4e69-b274-efca0dfb2d81', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/18f77c9e-b71d-4e69-b274-efca0dfb2d81', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/18f77c9e-b71d-4e69-b274-efca0dfb2d81', 'rel': 'bookmark'}]}, {'uuid': '22ae01b0-f50b-4bb5-9321-3512c8922bbe', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/22ae01b0-f50b-4bb5-9321-3512c8922bbe', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/22ae01b0-f50b-4bb5-9321-3512c8922bbe', 'rel': 'bookmark'}]}, {'uuid': '414eff00-fa7e-4e80-8691-d0be24f015d5', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/414eff00-fa7e-4e80-8691-d0be24f015d5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/414eff00-fa7e-4e80-8691-d0be24f015d5', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/35ae49d5-0e08-47b7-9117-b6278467f419 [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19090863-571e-486a-9e1c-002f987a6e82 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/7190d0a7-fb9f-4f5c-a539-5bf65c998c52 [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ba810a69-8ef1-4059-9007-2415e2bd8ce5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/94d1090b-7a1a-43ae-8f78-3170630f901e [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e104b85-7ee7-4a1b-be0f-5506dee9cdf4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/0/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/9bad302b-0eb2-4c44-91ea-c201d24abd59 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-47d1f2b6-92c6-4bcc-a796-f030cacc76b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/1d4a6dcd-6039-4493-a68f-527472fc8032 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12a2f91e-a91e-4516-8936-01a747b5727d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1d4a6dcd-6039-4493-a68f-527472fc8032", "created_at": "2024-09-07T17:17:18.807641+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/1d4a6dcd-6039-4493-a68f-527472fc8032", "rel": "self"}, {"href": "http://localhost/deploy_templates/1d4a6dcd-6039-4493-a68f-527472fc8032", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/032c8ad9-cf4a-41ab-aa5d-da322bae0fbe [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-277d9a8d-eafb-4ab9-90dc-58617ed3fd3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/25175ceb-f991-48e6-87cf-50cfdea91230 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b265519-1a60-4de7-bbb3-994ab56d0344 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "25175ceb-f991-48e6-87cf-50cfdea91230", "created_at": "2024-09-07T17:17:18.873305+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/25175ceb-f991-48e6-87cf-50cfdea91230", "rel": "self"}, {"href": "http://localhost/deploy_templates/25175ceb-f991-48e6-87cf-50cfdea91230", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '23f5f8fe-7e15-499b-8f19-6a255af4bbf5', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/23f5f8fe-7e15-499b-8f19-6a255af4bbf5 Openstack-Request-Id: req-aebc087a-66e2-437c-b348-4d69d4ade2e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "23f5f8fe-7e15-499b-8f19-6a255af4bbf5", "created_at": "2024-09-07T17:17:18.914848+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/23f5f8fe-7e15-499b-8f19-6a255af4bbf5", "rel": "self"}, {"href": "http://localhost/deploy_templates/23f5f8fe-7e15-499b-8f19-6a255af4bbf5", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/23f5f8fe-7e15-499b-8f19-6a255af4bbf5 {} GOT:{'uuid': '23f5f8fe-7e15-499b-8f19-6a255af4bbf5', 'created_at': '2024-09-07T17:17:18.914848+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/23f5f8fe-7e15-499b-8f19-6a255af4bbf5', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/23f5f8fe-7e15-499b-8f19-6a255af4bbf5', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ccc7e5e3-7a1d-4f79-9439-b76bcfef4d12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'b32fcc9f-1507-4aa2-bb8c-588dc768d6e7', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b32fcc9f-1507-4aa2-bb8c-588dc768d6e7', 'rel': 'self'}, {'href': 'http://localhost/chassis/b32fcc9f-1507-4aa2-bb8c-588dc768d6e7', 'rel': 'bookmark'}]}, {'uuid': 'd05b4fac-cfc3-421c-a64e-93da9a77ea0a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/d05b4fac-cfc3-421c-a64e-93da9a77ea0a', 'rel': 'self'}, {'href': 'http://localhost/chassis/d05b4fac-cfc3-421c-a64e-93da9a77ea0a', 'rel': 'bookmark'}]}, {'uuid': '8f0bbbf8-89bd-493f-8be0-8df122679e48', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8f0bbbf8-89bd-493f-8be0-8df122679e48', 'rel': 'self'}, {'href': 'http://localhost/chassis/8f0bbbf8-89bd-493f-8be0-8df122679e48', 'rel': 'bookmark'}]}, {'uuid': '12744d0a-d034-4c71-93cd-f801a840055d', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/12744d0a-d034-4c71-93cd-f801a840055d', 'rel': 'self'}, {'href': 'http://localhost/chassis/12744d0a-d034-4c71-93cd-f801a840055d', 'rel': 'bookmark'}]}, {'uuid': '91b126d7-1ed5-43a4-9914-24a5ecedac20', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/91b126d7-1ed5-43a4-9914-24a5ecedac20', 'rel': 'self'}, {'href': 'http://localhost/chassis/91b126d7-1ed5-43a4-9914-24a5ecedac20', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{'nodes': [{'uuid': 'd33f62f8-d0d1-4cd7-a74d-caa819fb1186', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d33f62f8-d0d1-4cd7-a74d-caa819fb1186', 'rel': 'self'}, {'href': 'http://localhost/nodes/d33f62f8-d0d1-4cd7-a74d-caa819fb1186', 'rel': 'bookmark'}]}, {'uuid': 'd53494d1-3d6f-4aa4-91b5-4822e9a4fb47', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d53494d1-3d6f-4aa4-91b5-4822e9a4fb47', 'rel': 'self'}, {'href': 'http://localhost/nodes/d53494d1-3d6f-4aa4-91b5-4822e9a4fb47', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{'nodes': [{'uuid': 'd33f62f8-d0d1-4cd7-a74d-caa819fb1186', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d33f62f8-d0d1-4cd7-a74d-caa819fb1186', 'rel': 'self'}, {'href': 'http://localhost/nodes/d33f62f8-d0d1-4cd7-a74d-caa819fb1186', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=1&marker=d33f62f8-d0d1-4cd7-a74d-caa819fb1186'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e0c99a1-df34-4ecb-8c33-3aab5d2f9307 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/chassis?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b26fa028-091d-4d4d-8703-ce8b11d7dc0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-87c5972f-87bd-4010-847c-bfa34e0f5263 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: uuid, extra, description\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8e89689a-a869-4011-a19c-c79c8f8eb620 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-de822a95-98bc-4b0c-8230-00ca3fbec2c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot overwrite UUID for an existing Chassis.\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-443308fe-b68a-4dca-a401-15b261d35b9e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.033754s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.028597s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.021892s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.019950s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.038367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.030544s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.023095s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.035612s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.048052s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.053225s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.115175s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.032148s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.029145s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.093437s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.026918s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.040965s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.050322s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.048361s] ... ok GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:18.595991+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} GOT:{'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]} GET: /v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917 {} GOT:{'uuid': 'a37031f6-0b33-4cbe-a995-934da08f8917', 'created_at': '2024-09-07T17:17:18.689104+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917', 'rel': 'self'}, {'href': 'http://foo/chassis/a37031f6-0b33-4cbe-a995-934da08f8917', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/a37031f6-0b33-4cbe-a995-934da08f8917/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917 {} GOT:{'uuid': 'a37031f6-0b33-4cbe-a995-934da08f8917', 'created_at': '2024-09-07T17:17:18.689104+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917', 'rel': 'self'}, {'href': 'http://foo/chassis/a37031f6-0b33-4cbe-a995-934da08f8917', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/a37031f6-0b33-4cbe-a995-934da08f8917/nodes', 'rel': 'bookmark'}]]} GET: /chassis/a37031f6-0b33-4cbe-a995-934da08f8917 {} GOT:{'uuid': 'a37031f6-0b33-4cbe-a995-934da08f8917', 'created_at': '2024-09-07T17:17:18.689104+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917', 'rel': 'self'}, {'href': 'http://foo/chassis/a37031f6-0b33-4cbe-a995-934da08f8917', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/a37031f6-0b33-4cbe-a995-934da08f8917/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/a37031f6-0b33-4cbe-a995-934da08f8917/nodes', 'rel': 'bookmark'}]]} GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-93372602-5c3e-4ade-b16c-efed959fd1f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} PATCH: /v1/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd14c0f4-e290-41d5-9dd9-fde023dfd534 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7b6bfce1-0a41-41e6-9737-3d5dcb6e4161", "created_at": "2024-09-07T17:17:18.812910+00:00", "updated_at": "2024-09-07T17:17:18.818964+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161", "rel": "self"}, {"href": "http://localhost/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161/nodes", "rel": "self"}, {"href": "http://localhost/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161 {} GOT:{'uuid': '7b6bfce1-0a41-41e6-9737-3d5dcb6e4161', 'created_at': '2024-09-07T17:17:18.812910+00:00', 'updated_at': '2024-09-07T17:17:18.818964+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161', 'rel': 'self'}, {'href': 'http://localhost/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/7b6bfce1-0a41-41e6-9737-3d5dcb6e4161/nodes', 'rel': 'bookmark'}]]} PATCH: /v1/chassis/975933bb-eaf7-40ed-bff9-2ee01aff30e8 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0eccf0b2-01be-4f38-b293-975da0322257 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 975933bb-eaf7-40ed-bff9-2ee01aff30e8 could not be found.\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'амо'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-c459b531-6e12-445e-8d55-27a0a3074cc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:18.950238+00:00", "updated_at": null, "description": "\u0430\u043c\u043e", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:18.950238+00:00', 'updated_at': None, 'description': 'амо', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88707d3b-076e-4ca2-847d-c24d9dc065ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/conductors {} {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.042642s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.025851s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.049030s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.046560s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.066375s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.031795s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.029862s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.031617s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.082354s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-56129d0c-4854-422b-9c49-26b75f0163fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:18.943805+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"foo": 123}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-09-07T17:17:18.943805+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'foo': 123}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9cd8ab7e-f41f-4af6-9bc1-e30c1b24a73c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1863744f-019e-4410-8192-df07580b3825 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': False} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:19.070870+00:00', 'updated_at': '2024-09-07T17:17:19.070559+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:19.070870+00:00', 'updated_at': '2024-09-07T17:17:19.070559+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:19.070870+00:00', 'updated_at': '2024-09-07T17:17:19.070559+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors {} GOT:{'conductors': [{'hostname': 'why care', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'why not', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/conductors?detail=true {} GOT:{'conductors': [{'created_at': '2024-09-07T17:17:19.136208+00:00', 'updated_at': '2024-09-07T17:17:19.135980+00:00', 'hostname': 'why care', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}], 'alive': True}, {'created_at': '2024-09-07T17:17:19.137599+00:00', 'updated_at': '2024-09-07T17:17:19.137463+00:00', 'hostname': 'why not', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/conductors?sort_key=hostname {} GOT:{'conductors': [{'hostname': '558cfbe4-c5bf-4349-b450-7ee8af26f09f', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/558cfbe4-c5bf-4349-b450-7ee8af26f09f', 'rel': 'self'}, {'href': 'http://localhost/conductors/558cfbe4-c5bf-4349-b450-7ee8af26f09f', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '7490a88d-2693-4d6d-97db-ca4a56cd54ee', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/7490a88d-2693-4d6d-97db-ca4a56cd54ee', 'rel': 'self'}, {'href': 'http://localhost/conductors/7490a88d-2693-4d6d-97db-ca4a56cd54ee', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '77a0d09c-53b6-45e4-8f3f-976c352d6e0b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/77a0d09c-53b6-45e4-8f3f-976c352d6e0b', 'rel': 'self'}, {'href': 'http://localhost/conductors/77a0d09c-53b6-45e4-8f3f-976c352d6e0b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'b04803d3-f53c-4f40-97bf-5dfaeb41b3cd', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/b04803d3-f53c-4f40-97bf-5dfaeb41b3cd', 'rel': 'self'}, {'href': 'http://localhost/conductors/b04803d3-f53c-4f40-97bf-5dfaeb41b3cd', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'd0c7f92d-3f1c-4c88-b2b6-4788b32f6694', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/d0c7f92d-3f1c-4c88-b2b6-4788b32f6694', 'rel': 'self'}, {'href': 'http://localhost/conductors/d0c7f92d-3f1c-4c88-b2b6-4788b32f6694', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6fb3915-b950-4ed1-96f6-49d2fe661495 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/deploy_templates?detail=False&fields=steps {} {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.058371s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.051157s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.024589s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.041850s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.026941s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.025155s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.030938s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.035773s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.288300s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.044760s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.273051s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.037033s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.031373s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.028165s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.032835s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.030351s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.018995s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.025118s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.039181s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.030629s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.060490s] ... ok GET: /v1/deploy_templates/046f5382-12f8-4cad-8616-520ee8c50716?fields=name,steps {} GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/046f5382-12f8-4cad-8616-520ee8c50716', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/046f5382-12f8-4cad-8616-520ee8c50716', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/be726f9f-9ba8-444f-993f-aac6ff57068d.json {} GOT:{'uuid': 'be726f9f-9ba8-444f-993f-aac6ff57068d', 'created_at': '2024-09-07T17:17:18.845192+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/be726f9f-9ba8-444f-993f-aac6ff57068d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/be726f9f-9ba8-444f-993f-aac6ff57068d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820 {} GOT:{'uuid': '757321b0-f99d-4ce3-89bf-f0371619b820', 'created_at': '2024-09-07T17:17:18.903342+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820 {} GOT:{'uuid': '757321b0-f99d-4ce3-89bf-f0371619b820', 'created_at': '2024-09-07T17:17:18.903342+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820 {} GOT:{'uuid': '757321b0-f99d-4ce3-89bf-f0371619b820', 'created_at': '2024-09-07T17:17:18.903342+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/757321b0-f99d-4ce3-89bf-f0371619b820', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates/3a1e8d7f-97d5-41f9-92d3-beb4c67a4d31 {} GOT:{'uuid': '3a1e8d7f-97d5-41f9-92d3-beb4c67a4d31', 'created_at': '2024-09-07T17:17:19.008904+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/3a1e8d7f-97d5-41f9-92d3-beb4c67a4d31', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3a1e8d7f-97d5-41f9-92d3-beb4c67a4d31', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} PATCH: /v1/deploy_templates/49b486ca-834c-4279-8017-b00795bc62c0 [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 10}, 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ac627752-3664-49b0-bc8d-43a9dfb4f92d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "49b486ca-834c-4279-8017-b00795bc62c0", "created_at": "2024-09-07T17:17:19.092382+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/49b486ca-834c-4279-8017-b00795bc62c0", "rel": "self"}, {"href": "http://localhost/deploy_templates/49b486ca-834c-4279-8017-b00795bc62c0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration1", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/4126bda0-3f8e-40b7-9208-204a63734a0d [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62d9f0bb-a03c-4bb2-a1de-7fb2ab4d829f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "4126bda0-3f8e-40b7-9208-204a63734a0d", "created_at": "2024-09-07T17:17:19.160920+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4126bda0-3f8e-40b7-9208-204a63734a0d", "rel": "self"}, {"href": "http://localhost/deploy_templates/4126bda0-3f8e-40b7-9208-204a63734a0d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}]} PATCH: /v1/deploy_templates/84ec6adb-42c8-4a0a-a33f-958f2fdb06fb [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-53a0ea85-4931-4d9f-b1a6-e9bfcb190171 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /non-existent. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/91447fae-225f-4a36-b347-2ab32eaa3921 [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-47dc84be-67fe-4d25-9541-b5e2460c94d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/c45a546c-15f4-49ce-b382-8e923e65e5bc [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41e1ff53-36b3-4f6f-92be-4d5a954337f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/9b83f877-45f6-4549-b7f4-a8cc6e33c12c [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 11}, 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.033983s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.030407s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.057362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.101154s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/aa7a3019-1182-4f15-bea4-19fd8b96f80b Openstack-Request-Id: req-19a7936c-08b1-4f68-8d64-ae83feada484 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "aa7a3019-1182-4f15-bea4-19fd8b96f80b", "created_at": "2024-09-07T17:17:18.948791+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/aa7a3019-1182-4f15-bea4-19fd8b96f80b", "rel": "self"}, {"href": "http://localhost/deploy_templates/aa7a3019-1182-4f15-bea4-19fd8b96f80b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/aa7a3019-1182-4f15-bea4-19fd8b96f80b {} GOT:{'uuid': 'aa7a3019-1182-4f15-bea4-19fd8b96f80b', 'created_at': '2024-09-07T17:17:18.948791+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/aa7a3019-1182-4f15-bea4-19fd8b96f80b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/aa7a3019-1182-4f15-bea4-19fd8b96f80b', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0573a3a1-6b9e-47e8-a4b4-b11fa4834d46', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} POST: /v1/deploy_templates {'name': 42, 'uuid': 'f9b2d8a2-f70c-4c4f-bb56-64d3f29f2e65', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68ef9146-76c7-497c-92a4-446f53a02ff0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2d1ed838-d688-439f-a5ee-dcb7c1a790b8', 'steps': {}, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b121218-66c7-4fb0-8841-18689c136490 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0836bee6-5659-4259-aeaa-353da6ba02f9', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': -1}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eedefe33-754b-4635-a56e-6114f8bbe916 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '0ade2590-ccc0-4296-ab09-cc6d234f255f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c7aab70-836a-4a2c-a3e1-d4471cce888a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '322049ea-7498-4502-a796-fffe78f20a09', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db978ad8-6cc4-499d-8fb7-56a1ffdfb4fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '4b9113e6-bf91-4e65-8907-217e6416e397', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50edcf14-6cde-456c-a758-edd9256512cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': 'abe3a209-247e-47fe-b58e-6e7768189b32', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/abe3a209-247e-47fe-b58e-6e7768189b32 Openstack-Request-Id: req-89115676-dacc-45f2-8134-09aa128ed390 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "abe3a209-247e-47fe-b58e-6e7768189b32", "created_at": "2024-09-07T17:17:19.485579+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/abe3a209-247e-47fe-b58e-6e7768189b32", "rel": "self"}, {"href": "http://localhost/deploy_templates/abe3a209-247e-47fe-b58e-6e7768189b32", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-212fe9c1-8a19-4cc5-958e-34ada4945f4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\", \"debuginfo\": null}"} POST: /v1/drivers/fake-hardware-type/vendor_passthru {'test_key': 'test_value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63f84fd8-97b6-4c48-956b-e48a207d9d49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.033149s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.047271s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.024836s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.019606s] ... ok GOT:{'conductors': [{'hostname': 'b508757d-ea7b-4d70-abc8-ff9a1a425f63', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/b508757d-ea7b-4d70-abc8-ff9a1a425f63', 'rel': 'self'}, {'href': 'http://localhost/conductors/b508757d-ea7b-4d70-abc8-ff9a1a425f63', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '06fbe174-4fad-41df-b66f-1f384723acae', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/06fbe174-4fad-41df-b66f-1f384723acae', 'rel': 'self'}, {'href': 'http://localhost/conductors/06fbe174-4fad-41df-b66f-1f384723acae', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '9115a94c-168e-45d6-8a88-02796ce4532f', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/9115a94c-168e-45d6-8a88-02796ce4532f', 'rel': 'self'}, {'href': 'http://localhost/conductors/9115a94c-168e-45d6-8a88-02796ce4532f', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=9115a94c-168e-45d6-8a88-02796ce4532f'} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'stein.rocks', 'links': [{'href': 'http://localhost/v1/conductors/stein.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/stein.rocks', 'rel': 'bookmark'}], 'alive': True}]} GET: /v1/conductors/rocky.rocks?fields=hostname,alive {} GOT:{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors/rocky.rocks {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3a3d327-a4ac-4724-939d-eed5689d9295 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:19.266995+00:00', 'updated_at': '2024-09-07T17:17:19.266779+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /v1/conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:19.266995+00:00', 'updated_at': '2024-09-07T17:17:19.266779+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} GET: /conductors/rocky.rocks {} GOT:{'created_at': '2024-09-07T17:17:19.266995+00:00', 'updated_at': '2024-09-07T17:17:19.266779+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DELETE: /v1/deploy_templates/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4c94d7ee-5b9d-4675-a36e-460bb15d3e10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-bd49e172-a286-4e7e-a548-c709c05f3d76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/deploy_templates/40430664-6928-418d-bbf7-2a85891f150f GOT:Response: 204 No Content Openstack-Request-Id: req-47b71d67-dc5a-4107-8fa1-ec08a7cde27a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{'deploy_templates': [{'uuid': 'd0585ae0-f500-404d-87fa-d6e0c6f97ddc', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d0585ae0-f500-404d-87fa-d6e0c6f97ddc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d0585ae0-f500-404d-87fa-d6e0c6f97ddc', 'rel': 'bookmark'}]}, {'uuid': '8eb92b80-08fa-4889-9c58-fe55c8d9bad2', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/8eb92b80-08fa-4889-9c58-fe55c8d9bad2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8eb92b80-08fa-4889-9c58-fe55c8d9bad2', 'rel': 'bookmark'}]}, {'uuid': '3e69d6ff-47eb-454a-be62-90de1374d1b7', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/3e69d6ff-47eb-454a-be62-90de1374d1b7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3e69d6ff-47eb-454a-be62-90de1374d1b7', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0d2c0cfa-fee2-4047-8275-ed1a277cb775 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/deploy_templates?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7091dc8c-bc09-4c80-9434-414566926b7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/deploy_templates?sort_key=steps {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f89c1039-3c32-425b-8e1e-7ca4a48a2e23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/162892a0-63ee-48e3-9c01-82074c37c5bb [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79aaa733-510a-440d-8dbb-c1038a72bfdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/c61b2a1f-fe21-4690-8bcc-7a8a5c8ba6e0 [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9dd677eb-1162-492d-aa63-a2a4c3e5f686 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: can't insert outside of list\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/f0617e41-718e-413b-be2c-77b3a97ae6e5 [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.099438s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.056463s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.057539s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.033096s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.026481s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.059078s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.024771s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.033929s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.020013s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.020030s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.029294s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.029687s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.022476s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.027177s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.021390s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.282806s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.019779s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.267345s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.026832s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.019548s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.023187s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.038304s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.021480s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.026597s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.034648s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.064650s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb50c592-2992-4dfb-932f-1946c08cce59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9b83f877-45f6-4549-b7f4-a8cc6e33c12c", "created_at": "2024-09-07T17:17:19.552113+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9b83f877-45f6-4549-b7f4-a8cc6e33c12c", "rel": "self"}, {"href": "http://localhost/deploy_templates/9b83f877-45f6-4549-b7f4-a8cc6e33c12c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 11}, {"interface": "raid", "step": "create_configuration1", "args": {}, "priority": 11}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 11}]} PATCH: /v1/deploy_templates/CUSTOM_DT1.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92ce94b6-2edb-4340-82bf-ff8dabfd3b21 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "5d8ed460-152d-4c19-8f94-6df346e87f15", "created_at": "2024-09-07T17:17:19.580727+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5d8ed460-152d-4c19-8f94-6df346e87f15", "rel": "self"}, {"href": "http://localhost/deploy_templates/5d8ed460-152d-4c19-8f94-6df346e87f15", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/789bf83c-9a99-48d0-88fa-3b16187387aa [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-74580e56-53d9-40b1-9809-5ee8409a5d71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "789bf83c-9a99-48d0-88fa-3b16187387aa", "created_at": "2024-09-07T17:17:19.638369+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/789bf83c-9a99-48d0-88fa-3b16187387aa", "rel": "self"}, {"href": "http://localhost/deploy_templates/789bf83c-9a99-48d0-88fa-3b16187387aa", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} PATCH: /v1/deploy_templates/2f938fc3-1ec3-4b22-8b91-e8ad14ead20e [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb29858b-8736-40ea-bac7-51c1b20b3997 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 2f938fc3-1ec3-4b22-8b91-e8ad14ead20e could not be found.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8fd3c630-a6d1-4774-bbf1-36c1754c1653', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/8fd3c630-a6d1-4774-bbf1-36c1754c1653 Openstack-Request-Id: req-615a7760-c03d-4795-8825-c35596dae93b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8fd3c630-a6d1-4774-bbf1-36c1754c1653", "created_at": "2024-09-07T17:17:19.805200+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8fd3c630-a6d1-4774-bbf1-36c1754c1653", "rel": "self"}, {"href": "http://localhost/deploy_templates/8fd3c630-a6d1-4774-bbf1-36c1754c1653", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}]} POST: /v1/deploy_templates {'name': None, 'uuid': '7a88bb7a-bd3d-4654-a6e3-60584fe52398', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5e24f87-85cd-41c4-91d8-fb867a203cb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ad811e29-a32d-453e-86b5-35569f88cca4', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4295c5ba-012c-4dc6-8761-19328636f755 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cefbe0a7-ecde-45a0-bde9-8186baf1706d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10, 'foo': 'bar'}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2746c232-cb9b-417a-9f5b-ac44d26f0cfd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0025b826-98fd-4b21-a20c-822dc68153f2', 'steps': [{'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-04e48f9d-324b-474f-a69c-85e97575f95d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6c1c9dce-f5ba-4445-a4df-e7c7c12ce551', 'steps': [{'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-671874f9-758d-4877-8eea-bdeb15994719 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5a11dc98-82f8-4fbb-9c49-2993ceea01f0', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 'not a number'}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9c39340f-c24b-4feb-a991-479976f87ed8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'c8e81c31-38a1-4852-933a-62c743b692ea', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.029163s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.051173s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.027574s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.021964s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce38d196-742b-439e-8ba7-c48572b25a67 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} GET: /v1/drivers?fields=name,hosts&detail=false {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers?detail=true&fields=name,hosts {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db4eb238-931c-4437-adb2-e7ebba5567eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/drivers/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c0da1997-bc48-4a14-8692-f3df5feb73d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible']} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GET: /drivers/fake-hardware-type/properties {} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-0013a764-e8e1-4426-b638-e3a2fd75fe5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1f6625da-957f-469a-b32e-eb3b17883dc3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-adede411-9140-4bff-8e9a-5aa6b61c3ee3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbc4f91c-b386-4949-b9f1-8591c884689c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ca1df644-a91a-45c8-a6d9-45ef9f2146e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-51a900eb-dd00-4ed8-b02b-c3bfcc2d3491 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4232e561-e5dc-4404-af25-541c657e154c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/nodes/node-39/vifs {'id': 'd84e61b7-24b0-4355-80fa-453d142b3b04'} GOT:Response: 204 No Content Openstack-Request-Id: req-8c1c55e8-46a5-4f21-86d7-3a22efa10b53 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.034613s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.050620s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.085223s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.038098s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.027078s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.031743s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.122033s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.034103s] ... ok GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/288ab7e2-f3d3-4d76-b934-193662f441e9', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/288ab7e2-f3d3-4d76-b934-193662f441e9', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': []} GET: /v1/deploy_templates/096cf125-69c6-4abd-a997-16012d972be4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates/a9bcd8bb-d0d8-4f65-8c40-de065779db6e {} GOT:{'uuid': 'a9bcd8bb-d0d8-4f65-8c40-de065779db6e', 'created_at': '2024-09-07T17:17:19.408838+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/a9bcd8bb-d0d8-4f65-8c40-de065779db6e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a9bcd8bb-d0d8-4f65-8c40-de065779db6e', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '8791b9c0-a843-467e-97b1-d0a5811fc324', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/8791b9c0-a843-467e-97b1-d0a5811fc324', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8791b9c0-a843-467e-97b1-d0a5811fc324', 'rel': 'bookmark'}]}, {'uuid': 'd1e109aa-182f-44a2-803e-9b22671193d7', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d1e109aa-182f-44a2-803e-9b22671193d7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d1e109aa-182f-44a2-803e-9b22671193d7', 'rel': 'bookmark'}]}, {'uuid': '7f990144-bc20-421f-b9d1-f31bb44f1543', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/7f990144-bc20-421f-b9d1-f31bb44f1543', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7f990144-bc20-421f-b9d1-f31bb44f1543', 'rel': 'bookmark'}]}, {'uuid': '5950caad-e69f-4267-ba99-40a276faa0e1', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/5950caad-e69f-4267-ba99-40a276faa0e1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5950caad-e69f-4267-ba99-40a276faa0e1', 'rel': 'bookmark'}]}, {'uuid': '2d308013-fb9f-48fb-8fcc-03fd787ddc52', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/2d308013-fb9f-48fb-8fcc-03fd787ddc52', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2d308013-fb9f-48fb-8fcc-03fd787ddc52', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/a6e751ad-3d74-4f91-84be-9dca85c67938 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80fc8df7-4dc7-4e8a-be4a-ada896e2e205 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/5e845295-d30d-4c90-b24d-1fd79d34bef3 [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-343f9897-6930-4aa0-91be-4311c2ecec0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/cf7b4cc9-1c1a-47f6-8662-503809318993 [{'path': '/steps', 'op': 'replace', 'value': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}]}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-33a09c17-0383-4938-82a4-3a8f33a0127b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/8a950202-9c9c-46ce-ace3-ccca3587ddb8 [{'path': '/steps', 'op': 'replace', 'value': []}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fbfe0ff6-173f-473c-af65-b4bd75196a6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/77ce9560-0f10-4387-9e64-74f590ec4a2a [{'path': '/name', 'op': 'replace', 'value': None}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-85d19c24-d16e-4cb2-864f-e99212dc0f18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/64f5cca9-97df-4170-a55c-aee91ea63f58 [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a540c817-332c-49f8-b425-504b99fa13ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/31cf436c-b040-442d-a497-44a6b94b707e [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a3da7f3a-afcc-4c89-87c9-8dbb413b600e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 31cf436c-b040-442d-a497-44a6b94b707e already exists.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/3bcadf25-41c5-468d-ac86-22f694aca192 [{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c6fa2ecf-6b2d-49fa-ad50-13e6053fc6b2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: list assignment index out of range\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/b7f2c352-4643-4313-ae24-f5742ba0df82 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.055922s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.057130s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.042195s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.019332s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.053074s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.054316s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.020997s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.034863s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.028019s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.014818s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.025120s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.022339s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.048476s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.028501s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.023468s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.028808s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.041757s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.047617s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.039741s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.065728s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.033980s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.029259s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.076199s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1289: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductors" and FROM element "conductor_hardware_interfaces". Apply join condition(s) between each element to resolve. return query.all() {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.030167s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72551886-2ae0-4725-912f-ba0b98ba4a19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property\", \"debuginfo\": null}"} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/test/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-423d3fa3-67f4-42d3-af17-0cb57a09b504 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]} GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?fields=name,hosts {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db3213e1-67ac-425d-8701-b460c9388813 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\", \"debuginfo\": null}"} GET: /v1/drivers?type=classic {} GOT:{'drivers': []} GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?detail=True {} {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.037846s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.037502s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.029619s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.087805s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.033323s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.087170s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.043622s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.014377s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.012342s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.038223s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.018553s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-daaa6ec1-c0a0-4c8c-afb0-9c4d9727aa4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e0b4eba1-0eca-44ea-9937-c25af73f576d", "created_at": "2024-09-07T17:17:20.071975+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e0b4eba1-0eca-44ea-9937-c25af73f576d", "rel": "self"}, {"href": "http://localhost/deploy_templates/e0b4eba1-0eca-44ea-9937-c25af73f576d", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '66754f8b-a4cb-48cf-a8fe-4ddad8a54921', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/66754f8b-a4cb-48cf-a8fe-4ddad8a54921 Openstack-Request-Id: req-7c3b1687-510f-4785-9c8d-3c9c2f296f41 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "66754f8b-a4cb-48cf-a8fe-4ddad8a54921", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/66754f8b-a4cb-48cf-a8fe-4ddad8a54921", "rel": "self"}, {"href": "http://localhost/deploy_templates/66754f8b-a4cb-48cf-a8fe-4ddad8a54921", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} GET: /v1/deploy_templates/66754f8b-a4cb-48cf-a8fe-4ddad8a54921 {} GOT:{'uuid': '66754f8b-a4cb-48cf-a8fe-4ddad8a54921', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/66754f8b-a4cb-48cf-a8fe-4ddad8a54921', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/66754f8b-a4cb-48cf-a8fe-4ddad8a54921', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b9cb45da-4bad-4bf5-81fa-d6c1c23e1ccf', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-30213aad-376b-45b6-8c13-b6560be75b19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e7d7503e-ba13-4e3e-a4bf-646cba5bd437', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8894d3b0-0b78-49b4-a2de-91cdddee7238 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6fedc117-0180-4d27-9998-aac2209dcaea', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}, 'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18b755f1-1b9a-4cee-ace0-eb10a6473bf5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected)\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6238cecd-9628-4eac-8633-05664292e2ef', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a6873b2-48d8-49ae-9468-de6ba0527f2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'b7a897b4-d622-4b69-b34c-27091395f3f6', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/b7a897b4-d622-4b69-b34c-27091395f3f6 Openstack-Request-Id: req-e286c9c8-4c1d-4c77-b79d-5a6b3edb96c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b7a897b4-d622-4b69-b34c-27091395f3f6", "created_at": "2024-09-07T17:17:20.348476+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b7a897b4-d622-4b69-b34c-27091395f3f6", "rel": "self"}, {"href": "http://localhost/deploy_templates/b7a897b4-d622-4b69-b34c-27091395f3f6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'fdb995fa-4b63-48fd-93c0-ed9b9fffd7d2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/fdb995fa-4b63-48fd-93c0-ed9b9fffd7d2 Openstack-Request-Id: req-91a733d8-b2aa-4432-8382-791baf24af90 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "fdb995fa-4b63-48fd-93c0-ed9b9fffd7d2", "created_at": "2024-09-07T17:17:20.380436+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/fdb995fa-4b63-48fd-93c0-ed9b9fffd7d2", "rel": "self"}, {"href": "http://localhost/deploy_templates/fdb995fa-4b63-48fd-93c0-ed9b9fffd7d2", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": "42"}]} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9eb270f0-c995-4894-863a-f1d8394eea18', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-abac1184-ad1f-4eb0-a541-1c5376cd7ff9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.032949s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.050540s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.028592s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.018514s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.037288s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.019096s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.051489s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.099599s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.021389s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.050600s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.062151s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.059724s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.021494s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.065648s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.021400s] ... ok GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct']}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type?fields=name,invalid {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf75ecf5-6358-49fc-9177-57290eb793ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-58046b00-8670-459a-b282-ed6ed95599c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-67746ae9-50b1-474e-8c03-a71df79138eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-656c9336-80f3-4fcf-8194-469cc4f5a1cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c6dd513f-768c-47bd-8464-aca3b1e582e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-461195f0-2304-46b0-a77e-20eda3b774af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.022457s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.029975s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.029121s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.031895s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.033104s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.039876s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.050681s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.046712s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.055873s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.066872s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.030783s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.099227s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.030181s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1289: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductors" and FROM element "conductor_hardware_interfaces". Apply join condition(s) between each element to resolve. return query.all() {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.056607s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.071948s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.084749s] ... ok GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-0da0ba96-e974-4351-81fd-1f599dbdbfb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/drivers?fields=name,invalid {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b650b99-1d38-4a30-aa56-3908621797a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.77 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e6e38825-6b7d-4ec6-bb73-dfe697283b64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': []} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GET: /drivers/fake-hardware-type/properties {} GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-77cab715-18b4-4239-8ce5-cfe6fab652f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers?detail=True {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': []}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?fields=name,hosts {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8041fe0e-b7cf-416a-a2de-0735cf9aab1b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-002f97cc-0b69-42cc-a456-67312c792a13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.071772s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.068011s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.034116s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.073628s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.029842s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.028765s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '86f05d5d-d287-44b4-9601-e5694231adef'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0332f362-2854-4abb-9ecd-dc8183ba0741 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:{'bios': [{'created_at': '2024-09-07T17:17:20.055829+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-564b87a3-06cb-4be3-955e-577fd9b684ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1fc53255-736f-4d74-92aa-0dcb0863ee43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-7c70bc74-ff9d-46f5-84fc-c0c13c90ac2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-4a85ebf9-dee9-4cfe-83e9-1d6b674ce32d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-3e638efe-4304-4483-97d4-ddb522feef3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=False {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': []} 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-207094a4-81d3-4979-b16c-8038b1e7363e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes?fields=uuid,instance_info {} GOT:{'nodes': [{'uuid': 'abb0d107-6359-4c17-ab85-a5a9a7280d1e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/abb0d107-6359-4c17-ab85-a5a9a7280d1e', 'rel': 'self'}, {'href': 'http://localhost/nodes/abb0d107-6359-4c17-ab85-a5a9a7280d1e', 'rel': 'bookmark'}]}, {'uuid': '4af9e157-83e6-4b48-83af-42bf29e1d77e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/4af9e157-83e6-4b48-83af-42bf29e1d77e', 'rel': 'self'}, {'href': 'http://localhost/nodes/4af9e157-83e6-4b48-83af-42bf29e1d77e', 'rel': 'bookmark'}]}, {'uuid': 'f002cefb-82b2-4907-bba5-86285e4bafd0', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/f002cefb-82b2-4907-bba5-86285e4bafd0', 'rel': 'self'}, {'href': 'http://localhost/nodes/f002cefb-82b2-4907-bba5-86285e4bafd0', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:{'conductor_group': '', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d1eb08e0-4535-4ded-a66f-f3386b30bef1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description {} GOT:{'description': 'useful piece', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=lessee {} GOT:{'lessee': 'some-lucky-project', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes?conductor=rocky.rocks {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '1ddc7e95-5272-4cf0-95fc-27689d8ca876', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1ddc7e95-5272-4cf0-95fc-27689d8ca876', 'rel': 'self'}, {'href': 'http://localhost/nodes/1ddc7e95-5272-4cf0-95fc-27689d8ca876', 'rel': 'bookmark'}]}, {'uuid': '9cf3f61a-a49c-4945-8b57-e5e9836299e0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9cf3f61a-a49c-4945-8b57-e5e9836299e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cf3f61a-a49c-4945-8b57-e5e9836299e0', 'rel': 'bookmark'}]}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.051049s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.045333s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.030499s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.035754s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.023979s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.047253s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.036216s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b2a063c1-8366-44e2-8c9d-2a7cd2dd2b2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/3ed63a15-5ec4-4896-a9a8-7d0b385edc0b [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8500121-1965-47d3-9c11-0dd83f70402a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid']\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6ec717d5-64dd-4513-8c5b-fe33a03d1ab5', 'steps': [], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e57cc36-d66a-4314-9071-53cc226ef489 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5251f52e-3619-4d66-bd6c-bd6c80f10fbc', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ec22655-7c71-4885-b6a1-18437d2ec815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': '7dc87514-a178-4ebd-92e9-896aa9421ecc', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a78e69c-a1fe-41d5-8025-a5991ae619ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'uuid': '53775d93-e32f-4a7e-b9af-fc78de5bfdd8', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8e424de0-05ee-46ec-8110-4a23bfd9a21c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '118aa0e1-1c3b-4dd3-8637-b34a6de6d7d4', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d06e6d90-f676-4b54-aa70-e36ab5c3c71f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8469dc8b-64ab-4553-b6a8-1b93c17fa4a8', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96b41750-ba66-46ba-9c23-0a38ccdc8345 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property\", \"debuginfo\": null}"} DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-ecead2f1-b6c7-46c4-a935-3f6286e88e22 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99e208a6-db9f-4cd7-8151-8a2d47b6af89 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {} GOT:foo PUT: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-4b16b504-3343-404e-8bc1-01bca41120b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cecce2c1-1d99-4e57-9156-0a79c5e143f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers {} GOT:{'drivers': []} GET: /v1/drivers?type=dynamic {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}]} GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.145641s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.072077s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.015703s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.059360s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.033488s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.050019s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.025703s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.047784s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.071300s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.021632s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.058927s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.031041s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.054816s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.050316s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.035834s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.043814s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.036889s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.020687s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.074262s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.083036s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.026323s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.045623s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.053940s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.061026s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.046016s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.043982s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.087467s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.062213s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e69ef95-3c67-4616-a39e-8c4238c18cc6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-42c667b4-1dc2-452a-bd91-5f5f71b04a80 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '3ee35643-ea99-4cdd-8924-7c4f850f96d6'} GOT:Response: 204 No Content Openstack-Request-Id: req-111f076b-7e88-450d-8556-78047e2e2214 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/doesntexist/vifs/b8f641e5-2b34-462f-b23d-6589bf4d96d5 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a8ab1ec-d9f2-4694-be97-cf50ebcf4f6d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{'vifs': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} GOT:{'bios': [{'created_at': '2024-09-07T17:17:20.889756+00:00', 'updated_at': None, 'name': 'virtualization', 'read_only': False, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:{'virtualization': {'created_at': '2024-09-07T17:17:20.970035+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'attribute_type': 'Enumeration', 'allowable_values': ['on', 'off'], 'lower_bound': None, 'max_length': None, 'min_length': None, 'read_only': False, 'reset_required': True, 'unique': False, 'upper_bound': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e77c17ec-0290-41b5-b700-023366737e87 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-d56c394c-f84f-42d3-8ac1-b7ae649ece48 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/nodes/foo.json GOT:Response: 204 No Content Openstack-Request-Id: req-a53755f8-ae8d-49b9-8ded-9a9eb22adc14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-101837ad-71c2-46c5-9d4c-8f2dc2eaeb52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d4a5a623-3a38-49e0-8a1f-9167b6233483 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3aaabe7-80c0-4797-88e5-2410b6e04ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid associated: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/nodes/detail?sort_key=resource_class {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.052295s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.062638s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.050354s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.066231s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.054598s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.029938s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.042319s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.054690s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.084799s] ... ok GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': '9cf3f61a-a49c-4945-8b57-e5e9836299e0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9cf3f61a-a49c-4945-8b57-e5e9836299e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/9cf3f61a-a49c-4945-8b57-e5e9836299e0', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-66144b5a-ad26-41c5-8aab-ec755eb0316c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-69d41278-49f0-4dfc-a8ee-5ad6e7a3f7d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} GET: /v1/nodes?driver=test {} GOT:{'nodes': []} GET: /v1/nodes?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ff7f9acb-c4cf-42e4-a649-39077f3d0c86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET: /v1/nodes/detail?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ab02aacd-4e5e-411f-8059-6e5a9ea3b51f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e9c8671f-bbcb-4901-9bcf-26b9f2fb5be7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} GET: /v1/nodes/detail?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f4a6e913-4c47-4098-b840-d062e83ac2cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} GET: /v1/nodes?resource_class=foo {} GOT:{'nodes': [{'uuid': 'd24c5ad3-4a21-4e3e-bfc2-e646271e4d2f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d24c5ad3-4a21-4e3e-bfc2-e646271e4d2f', 'rel': 'self'}, {'href': 'http://localhost/nodes/d24c5ad3-4a21-4e3e-bfc2-e646271e4d2f', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=bar {} GOT:{'nodes': [{'uuid': 'fbe88c9f-d0b4-4567-adc5-a10a5ad32058', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/fbe88c9f-d0b4-4567-adc5-a10a5ad32058', 'rel': 'self'}, {'href': 'http://localhost/nodes/fbe88c9f-d0b4-4567-adc5-a10a5ad32058', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner {} GOT:{'owner': 'fred', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:{'traits': [], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'allocation_uuid': '995523ae-d1b3-429d-8837-2509b0afe935'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.417703+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.417703+00:00', 'updated_at': None, 'clean_step': {'foo': 'bar'}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.047275s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.046882s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.059881s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.065747s] ... ok GOT:{'nodes': [{'uuid': '22264360-d18f-4f02-b5f0-86a53eab135c', 'created_at': '2024-09-07T17:17:21.354209+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'rc_1', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/22264360-d18f-4f02-b5f0-86a53eab135c', 'rel': 'self'}, {'href': 'http://localhost/nodes/22264360-d18f-4f02-b5f0-86a53eab135c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/22264360-d18f-4f02-b5f0-86a53eab135c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/22264360-d18f-4f02-b5f0-86a53eab135c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/22264360-d18f-4f02-b5f0-86a53eab135c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/22264360-d18f-4f02-b5f0-86a53eab135c/states', 'rel': 'bookmark'}]}, {'uuid': 'f0d7e8b9-4052-4fb1-9234-b231bc4589c6', 'created_at': '2024-09-07T17:17:21.351353+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'rc_2', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/f0d7e8b9-4052-4fb1-9234-b231bc4589c6', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0d7e8b9-4052-4fb1-9234-b231bc4589c6', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f0d7e8b9-4052-4fb1-9234-b231bc4589c6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0d7e8b9-4052-4fb1-9234-b231bc4589c6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f0d7e8b9-4052-4fb1-9234-b231bc4589c6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0d7e8b9-4052-4fb1-9234-b231bc4589c6/states', 'rel': 'bookmark'}]}, {'uuid': '22fade87-9d37-4a19-848f-b412c729ea09', 'created_at': '2024-09-07T17:17:21.347542+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'rc_3', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/22fade87-9d37-4a19-848f-b412c729ea09', 'rel': 'self'}, {'href': 'http://localhost/nodes/22fade87-9d37-4a19-848f-b412c729ea09', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/22fade87-9d37-4a19-848f-b412c729ea09/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/22fade87-9d37-4a19-848f-b412c729ea09/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/22fade87-9d37-4a19-848f-b412c729ea09/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/22fade87-9d37-4a19-848f-b412c729ea09/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=True {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.395618+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7adf1a8d-1d85-4487-a771-36c0a82aeca3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?associated=true {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.053508s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.053794s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.040291s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.034123s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.061167s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.076925s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.458668+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.458668+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': 'useful piece', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.504204+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.504204+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': 'fish', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/detail {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.090296s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.053755s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.045188s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.081234s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.059324s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.041794s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.068641s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.093954s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.570132+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.570132+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=true {} GOT:{'nodes': [{'uuid': '6151afa6-ec8b-4e3f-9fcd-c8d87fee07b7', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6151afa6-ec8b-4e3f-9fcd-c8d87fee07b7', 'rel': 'self'}, {'href': 'http://localhost/nodes/6151afa6-ec8b-4e3f-9fcd-c8d87fee07b7', 'rel': 'bookmark'}]}, {'uuid': '45d73dff-f6f1-4d9d-b991-906fcaa7c900', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/45d73dff-f6f1-4d9d-b991-906fcaa7c900', 'rel': 'self'}, {'href': 'http://localhost/nodes/45d73dff-f6f1-4d9d-b991-906fcaa7c900', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=false {} GOT:{'nodes': [{'uuid': '066e736b-e8e1-49ef-8656-9d1666a4e24e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/066e736b-e8e1-49ef-8656-9d1666a4e24e', 'rel': 'self'}, {'href': 'http://localhost/nodes/066e736b-e8e1-49ef-8656-9d1666a4e24e', 'rel': 'bookmark'}]}, {'uuid': 'cc5b63ca-1ef8-4fa7-b5b0-3a5c41de7dc2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/cc5b63ca-1ef8-4fa7-b5b0-3a5c41de7dc2', 'rel': 'self'}, {'href': 'http://localhost/nodes/cc5b63ca-1ef8-4fa7-b5b0-3a5c41de7dc2', 'rel': 'bookmark'}]}, {'uuid': 'bd17622e-865b-4c35-9307-6cbce8ce27fc', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bd17622e-865b-4c35-9307-6cbce8ce27fc', 'rel': 'self'}, {'href': 'http://localhost/nodes/bd17622e-865b-4c35-9307-6cbce8ce27fc', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.727989+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.051361s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.048347s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.053789s] ... ok GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-2e0da895-b136-436a-b3bf-60645a649607 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5197621c-62b3-4122-9141-141bd01c998f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-c2f4f476-a636-4ca8-b0f2-e73d7a7a0324 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-caae1f3b-154b-464e-b986-26ccbf55d5f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-13d278e3-8d8e-4814-bfdf-03f00348ae09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-a1f7ece4-8049-43a4-9db8-c997a1fe86df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-cb797002-07c8-429d-83fd-1aa74ae534b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/nodes/node-39/vifs {'id': '0b08315f-91a1-4017-a3a3-f13cade235dd'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4df4d382-f2c4-4fb9-91c6-5da19008feae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"} POST: /v1/nodes/doesntexist/vifs {'id': '22d586ac-9200-4fac-8b86-e9d6de50c581'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26c7e752-16bc-45ae-bb13-6fa684faf836 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/df22d9c0-d2a2-417b-ac09-284b6e4a8681 GOT:Response: 204 No Content Openstack-Request-Id: req-f13e9d5d-3238-4956-ac8a-1e5f7c723dd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/node-39/vifs/d8477bec-fa00-4dce-9f46-3e4bb360bee5 GOT:Response: 204 No Content Openstack-Request-Id: req-d8acd8d5-2376-485c-b370-147aebd424c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/eb4f6d0b-7fa3-42af-bf6b-19cf921b5bb5 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e0cc7550-cbf9-4bb4-96dd-e1b653196488 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False {} GOT:{'bios': [{'created_at': '2024-09-07T17:17:21.722777+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.028690s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.039514s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.014388s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.025757s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.024379s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.030968s] ... ok GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2418bc95-b9a1-482a-8211-f126427ee64a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-0f195977-207a-447b-8c44-ac15038d9b80 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-42b4ead5-3b14-47f1-af30-baa3f463f3d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4da24604-0c57-4621-bc6b-f3e5882d056b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port']\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-46e9d02b-0213-44ed-8599-3dd2e05e3c1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cdb8e9b0-2d94-4ff3-9654-052e2966be56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db0beef9-67ee-4947-a404-67913e8c09ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18d3265c-4a77-413f-85bc-51b7c748e507 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db055726-945e-4d7c-83fa-1322bfa128f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4af42124-6fb4-4c02-9f21-0aafc9a9c762 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9a2f005-7ca1-48bb-8004-df8a119be414 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-16a60711-309c-48eb-8539-903160ae66c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID or name for id: invalid%id^\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': 'd536104f-091e-45c0-9287-7978a2f7c96b'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b32b24e6-b011-4535-b291-3e1cd9b63582 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '8295dce6-d9ce-4322-bb42-d42043d76ca3', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.056341s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.090985s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.026750s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.034096s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.114549s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.125974s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.727989+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.780171+00:00', 'updated_at': None, 'automated_clean': False, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.845163+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.096710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.042879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.047457s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.056780s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.077899s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.037709s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.025267s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.051319s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.023499s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.053518s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.030113s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:21.910035+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.014341+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.054861+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.056128s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.032673s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.095829s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.020447s] ... ok GOT:{'nodes': [{'uuid': '4cb881ef-3bb4-4f92-a79a-b65654884cdb', 'created_at': '2024-09-07T17:17:21.483047+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'ea8d781b-11f2-4f7b-8f04-22295eaaa140', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4cb881ef-3bb4-4f92-a79a-b65654884cdb', 'rel': 'self'}, {'href': 'http://localhost/nodes/4cb881ef-3bb4-4f92-a79a-b65654884cdb', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4cb881ef-3bb4-4f92-a79a-b65654884cdb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4cb881ef-3bb4-4f92-a79a-b65654884cdb/ports', 'rel': 'bookmark'}]}, {'uuid': '13d725e3-2243-4c0c-a22e-301102a8ad99', 'created_at': '2024-09-07T17:17:21.485750+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '65e3df8a-a2e9-4f66-9b62-29f506facb85', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/13d725e3-2243-4c0c-a22e-301102a8ad99', 'rel': 'self'}, {'href': 'http://localhost/nodes/13d725e3-2243-4c0c-a22e-301102a8ad99', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/13d725e3-2243-4c0c-a22e-301102a8ad99/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/13d725e3-2243-4c0c-a22e-301102a8ad99/ports', 'rel': 'bookmark'}]}, {'uuid': '8aa98138-fe10-443f-a206-aeba88cc50b3', 'created_at': '2024-09-07T17:17:21.488443+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'fd792381-b4eb-472f-b5e3-4ab244392d48', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8aa98138-fe10-443f-a206-aeba88cc50b3', 'rel': 'self'}, {'href': 'http://localhost/nodes/8aa98138-fe10-443f-a206-aeba88cc50b3', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8aa98138-fe10-443f-a206-aeba88cc50b3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8aa98138-fe10-443f-a206-aeba88cc50b3/ports', 'rel': 'bookmark'}]}, {'uuid': 'a21f8130-03ef-4b8a-9b00-128527b9bd38', 'created_at': '2024-09-07T17:17:21.491016+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '3b859681-d7ff-4d26-846d-153cbd8d16c8', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a21f8130-03ef-4b8a-9b00-128527b9bd38', 'rel': 'self'}, {'href': 'http://localhost/nodes/a21f8130-03ef-4b8a-9b00-128527b9bd38', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a21f8130-03ef-4b8a-9b00-128527b9bd38/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a21f8130-03ef-4b8a-9b00-128527b9bd38/ports', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?instance_uuid=4c5e1c7f-3e7a-4dad-b8f6-381520ce7806 {} GOT:{'nodes': [{'uuid': '899480fb-c9e7-4d31-852e-c37545d125ef', 'created_at': '2024-09-07T17:17:21.536054+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '4c5e1c7f-3e7a-4dad-b8f6-381520ce7806', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/899480fb-c9e7-4d31-852e-c37545d125ef', 'rel': 'self'}, {'href': 'http://localhost/nodes/899480fb-c9e7-4d31-852e-c37545d125ef', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/899480fb-c9e7-4d31-852e-c37545d125ef/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/899480fb-c9e7-4d31-852e-c37545d125ef/ports', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/spam/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ff28f21f-a2e6-44d7-858f-4d55af482560 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4eeeb256-4758-4611-afe5-9a1483003bab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=like.shadows {} GOT:{'nodes': []} GET: /v1/nodes?conductor=like.shadows {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-236ca4f0-d674-4384-860f-2bfc5f301b55 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=rocky.rocks {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ae8b73f8-abf0-401a-b99d-4f47139a774b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} GET: /v1/nodes?driver=ipmi {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.083447s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7850f2a4-0ea7-4609-87a6-5b7e304ab67d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?fields=['name', 'read_only'] received.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:{'virtualization': {'created_at': '2024-09-07T17:17:21.792902+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}} DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-c1dda416-462a-4940-b3c3-20649f7b0761 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aaa6c202-6eb5-447e-9d2d-4817d60c4a16 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a668525b-0708-4eb2-9a05-eb28271bfbc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4196abe9-1e51-430c-b6cc-142654f31f04 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7691870c-e975-40fa-aa8c-b1f6e10083d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-049cb472-4d62-46b7-9730-47555c60adf2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes?instance_uuid=641a7d65-e8df-4e05-b90d-4af47b047267 {} GOT:{'nodes': [{'uuid': '0d0901bb-a0b4-49a8-8c5b-d855719630cd', 'instance_uuid': '641a7d65-e8df-4e05-b90d-4af47b047267', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0d0901bb-a0b4-49a8-8c5b-d855719630cd', 'rel': 'self'}, {'href': 'http://localhost/nodes/0d0901bb-a0b4-49a8-8c5b-d855719630cd', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f8ac931e-a8e1-4e98-93f3-690dacf8dfc2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.118122+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.038601s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.033247s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.046445s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.135892s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.054237s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.060758s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.052790s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.054861+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.152327+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.152327+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.053098s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.051310s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.072447s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.032739s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.126672s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.224410+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.263173+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.263173+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.109274s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.155386+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': '46c0bf8a-846d-49a5-9724-5a61a5efa6bf', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b75d4e19-a2c1-47df-90a3-cd38f5fdb72c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e83930f-635e-4196-adba-196533754a5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes?fields=uuid,power_state,target_power_state,provision_state,target_provision_state,last_error,maintenance,instance_uuid,traits,resource_class {} GOT:{'nodes': [{'uuid': 'a1c5de5f-8976-4897-95b6-2c07156c162d', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '81db797f-afa5-40d4-be6e-54b93f23a476', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/a1c5de5f-8976-4897-95b6-2c07156c162d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a1c5de5f-8976-4897-95b6-2c07156c162d', 'rel': 'bookmark'}]}, {'uuid': 'ec9ec911-ca8e-4d0d-be56-9603a842e8ce', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '3ad804ea-7064-42b3-b53c-855ae9b4e1f8', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/ec9ec911-ca8e-4d0d-be56-9603a842e8ce', 'rel': 'self'}, {'href': 'http://localhost/nodes/ec9ec911-ca8e-4d0d-be56-9603a842e8ce', 'rel': 'bookmark'}]}, {'uuid': '70eec275-a6a9-4207-b4c1-c6976161a22e', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'd163885c-f35a-42e9-81a5-e2b3b2af6810', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/70eec275-a6a9-4207-b4c1-c6976161a22e', 'rel': 'self'}, {'href': 'http://localhost/nodes/70eec275-a6a9-4207-b4c1-c6976161a22e', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3f3650bf-506c-4381-9b92-4a15eff9dd3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '99795dc9-fbdf-40e1-8297-8918827200a6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/99795dc9-fbdf-40e1-8297-8918827200a6', 'rel': 'self'}, {'href': 'http://localhost/nodes/99795dc9-fbdf-40e1-8297-8918827200a6', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '57af6ea0-9388-49f7-9186-78fb65f0d848', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848', 'rel': 'self'}, {'href': 'http://localhost/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group1 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.067220s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.051955s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.028833s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.093186s] ... ok GOT:{'nodes': [{'uuid': '5042ebec-1fb4-468a-b825-ba5e089473b5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/5042ebec-1fb4-468a-b825-ba5e089473b5', 'rel': 'self'}, {'href': 'http://localhost/nodes/5042ebec-1fb4-468a-b825-ba5e089473b5', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{'nodes': [{'uuid': 'a9bd3751-9810-423c-8dc6-1e193e31b0f3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a9bd3751-9810-423c-8dc6-1e193e31b0f3', 'rel': 'self'}, {'href': 'http://localhost/nodes/a9bd3751-9810-423c-8dc6-1e193e31b0f3', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=power failure {} GOT:{'nodes': [{'uuid': 'f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=clean failure {} GOT:{'nodes': [{'uuid': '8597468c-2014-437c-810d-feb5e7f02de4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/8597468c-2014-437c-810d-feb5e7f02de4', 'rel': 'self'}, {'href': 'http://localhost/nodes/8597468c-2014-437c-810d-feb5e7f02de4', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=power failure {} GOT:{'nodes': [{'uuid': 'f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0', 'created_at': '2024-09-07T17:17:22.155192+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': 'power failure', 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2f4b6a5-a4e3-4d8e-835e-8a935340a4c0/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=clean failure {} GOT:{'nodes': [{'uuid': '8597468c-2014-437c-810d-feb5e7f02de4', 'created_at': '2024-09-07T17:17:22.158144+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': 'clean failure', 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/8597468c-2014-437c-810d-feb5e7f02de4', 'rel': 'self'}, {'href': 'http://localhost/nodes/8597468c-2014-437c-810d-feb5e7f02de4', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8597468c-2014-437c-810d-feb5e7f02de4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8597468c-2014-437c-810d-feb5e7f02de4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8597468c-2014-437c-810d-feb5e7f02de4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8597468c-2014-437c-810d-feb5e7f02de4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8597468c-2014-437c-810d-feb5e7f02de4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8597468c-2014-437c-810d-feb5e7f02de4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8597468c-2014-437c-810d-feb5e7f02de4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8597468c-2014-437c-810d-feb5e7f02de4/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-54c89d3b-2654-4fad-a11b-89af51298b02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} GET: /v1/nodes/detail?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2c3897c3-679c-4cc6-b45d-3fcdf3f1419f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} GET: /v1/nodes/detail?resource_class=foo {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.094651s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.052984s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.078156s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.154405s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.069216s] ... ok GOT:{'nodes': [{'uuid': '99795dc9-fbdf-40e1-8297-8918827200a6', 'created_at': '2024-09-07T17:17:22.391245+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': 'group1', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/99795dc9-fbdf-40e1-8297-8918827200a6', 'rel': 'self'}, {'href': 'http://localhost/nodes/99795dc9-fbdf-40e1-8297-8918827200a6', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/99795dc9-fbdf-40e1-8297-8918827200a6/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '57af6ea0-9388-49f7-9186-78fb65f0d848', 'created_at': '2024-09-07T17:17:22.394209+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': 'group2', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848', 'rel': 'self'}, {'href': 'http://localhost/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/57af6ea0-9388-49f7-9186-78fb65f0d848/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-24e28afd-2c59-4314-881c-f1291f9c7296 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\", \"debuginfo\": null}"} GET: /v1/nodes/detail?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?lessee=project1 {} GOT:{'nodes': [{'uuid': '4e868801-6693-4a6c-a9d1-c823de89d17e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e', 'rel': 'bookmark'}]}]} GET: /v1/nodes?lessee=project2 {} GOT:{'nodes': [{'uuid': '711de4a3-6070-4e90-bf0a-6f36a77da9d5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project1 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.075204s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.346211+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspecting', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.346211+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspect wait', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.523779+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'some-lucky-project', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/12d0d333-232f-4e17-b005-9184aeb53363 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.046387s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a714ea4c-9ac9-4f7e-8bc1-a447edd099a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify both port_uuid and portgroup_uuid\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '51df67f3-1c0c-4ac7-aa09-4099445bbf21', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 204 No Content Openstack-Request-Id: req-da61f9ed-90f7-4bf0-b790-55bde82129df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} GOT:{'bios': [{'created_at': '2024-09-07T17:17:21.934045+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'attribute_type': 'Enumeration', 'allowable_values': ['on', 'off'], 'lower_bound': None, 'max_length': None, 'min_length': None, 'read_only': False, 'reset_required': True, 'unique': False, 'upper_bound': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True?fields=name,read_only {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bc0d6577-ce88-4a21-b251-c4c4c3e4fa56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.74 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid detail: Unrecognized value 'True?fields=name,read_only', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6bde7811-4dcd-40bb-a571-8dc120e33e10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4307d1f2-d24a-462e-a9c6-8f675d2ee4b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes?associated=true {} GOT:{'nodes': [{'uuid': 'af470778-d4bd-4735-a506-8e7e7128b89b', 'instance_uuid': '6c696b85-238c-4453-aff5-810c82293740', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/af470778-d4bd-4735-a506-8e7e7128b89b', 'rel': 'self'}, {'href': 'http://localhost/nodes/af470778-d4bd-4735-a506-8e7e7128b89b', 'rel': 'bookmark'}]}, {'uuid': '2da1461c-47e5-49d6-8638-eccb6ed322c4', 'instance_uuid': 'c28fd2b0-5b08-4ebd-a7de-767755d2f306', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2da1461c-47e5-49d6-8638-eccb6ed322c4', 'rel': 'self'}, {'href': 'http://localhost/nodes/2da1461c-47e5-49d6-8638-eccb6ed322c4', 'rel': 'bookmark'}]}, {'uuid': 'fce70471-6e0b-4061-891a-5b00e19749b8', 'instance_uuid': '2e1b46f8-5daa-49b2-8a5f-2b0337780715', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fce70471-6e0b-4061-891a-5b00e19749b8', 'rel': 'self'}, {'href': 'http://localhost/nodes/fce70471-6e0b-4061-891a-5b00e19749b8', 'rel': 'bookmark'}]}, {'uuid': '9d427e82-efef-4dfa-97fe-49f4e29239ac', 'instance_uuid': '8a9c9101-8e39-42cc-af56-d214c7d0fe77', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9d427e82-efef-4dfa-97fe-49f4e29239ac', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d427e82-efef-4dfa-97fe-49f4e29239ac', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=True {} GOT:{'nodes': [{'uuid': 'af470778-d4bd-4735-a506-8e7e7128b89b', 'instance_uuid': '6c696b85-238c-4453-aff5-810c82293740', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/af470778-d4bd-4735-a506-8e7e7128b89b', 'rel': 'self'}, {'href': 'http://localhost/nodes/af470778-d4bd-4735-a506-8e7e7128b89b', 'rel': 'bookmark'}]}, {'uuid': '2da1461c-47e5-49d6-8638-eccb6ed322c4', 'instance_uuid': 'c28fd2b0-5b08-4ebd-a7de-767755d2f306', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2da1461c-47e5-49d6-8638-eccb6ed322c4', 'rel': 'self'}, {'href': 'http://localhost/nodes/2da1461c-47e5-49d6-8638-eccb6ed322c4', 'rel': 'bookmark'}]}, {'uuid': 'fce70471-6e0b-4061-891a-5b00e19749b8', 'instance_uuid': '2e1b46f8-5daa-49b2-8a5f-2b0337780715', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fce70471-6e0b-4061-891a-5b00e19749b8', 'rel': 'self'}, {'href': 'http://localhost/nodes/fce70471-6e0b-4061-891a-5b00e19749b8', 'rel': 'bookmark'}]}, {'uuid': '9d427e82-efef-4dfa-97fe-49f4e29239ac', 'instance_uuid': '8a9c9101-8e39-42cc-af56-d214c7d0fe77', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9d427e82-efef-4dfa-97fe-49f4e29239ac', 'rel': 'self'}, {'href': 'http://localhost/nodes/9d427e82-efef-4dfa-97fe-49f4e29239ac', 'rel': 'bookmark'}]}]} GET: /v1/nodes/?limit=3 {} GOT:{'nodes': [{'uuid': '3068202e-bb6e-43d1-ac28-a32c9522b71b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/3068202e-bb6e-43d1-ac28-a32c9522b71b', 'rel': 'self'}, {'href': 'http://localhost/nodes/3068202e-bb6e-43d1-ac28-a32c9522b71b', 'rel': 'bookmark'}]}, {'uuid': '0f047174-43ae-409a-a716-b20afe840241', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/0f047174-43ae-409a-a716-b20afe840241', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f047174-43ae-409a-a716-b20afe840241', 'rel': 'bookmark'}]}, {'uuid': 'bb52ee42-ece6-4905-b93b-98e76275565a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bb52ee42-ece6-4905-b93b-98e76275565a', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb52ee42-ece6-4905-b93b-98e76275565a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=bb52ee42-ece6-4905-b93b-98e76275565a'} GET: /v1/nodes?fields=driver_info,uuid {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.100339s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.148465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.228039s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.073595s] ... ok GOT:{'nodes': [{'uuid': 'cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e', 'created_at': '2024-09-07T17:17:22.344107+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'foo', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cf60ba7b-8ffc-49bd-9ef4-5cd5b212f30e/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{'nodes': [{'uuid': '3b98e8b6-a158-4ead-8a16-5a1b40431aa7', 'created_at': '2024-09-07T17:17:22.352450+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'bar', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/3b98e8b6-a158-4ead-8a16-5a1b40431aa7', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b98e8b6-a158-4ead-8a16-5a1b40431aa7', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3b98e8b6-a158-4ead-8a16-5a1b40431aa7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b98e8b6-a158-4ead-8a16-5a1b40431aa7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3b98e8b6-a158-4ead-8a16-5a1b40431aa7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b98e8b6-a158-4ead-8a16-5a1b40431aa7/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d157295-2f8b-4b67-8745-67a53856128a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.492811+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:{'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/node.json.json {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.098351s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.116249s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.190000s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.099479s] ... ok GOT:{'nodes': [{'uuid': '4e868801-6693-4a6c-a9d1-c823de89d17e', 'created_at': '2024-09-07T17:17:22.544426+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project1', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e868801-6693-4a6c-a9d1-c823de89d17e/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?lessee=project2 {} GOT:{'nodes': [{'uuid': '711de4a3-6070-4e90-bf0a-6f36a77da9d5', 'created_at': '2024-09-07T17:17:22.547642+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project2', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/711de4a3-6070-4e90-bf0a-6f36a77da9d5/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=fred {} GOT:{'nodes': [{'uuid': '7f75a462-4b76-457b-b0d8-63ec2f8e7b10', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=bob {} GOT:{'nodes': [{'uuid': 'c03406a4-4305-4856-918d-4d4aeb6622e4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=fred {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.074629s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.041811s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.021603s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.028881s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.030639s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.108864s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.087980s] ... ok GOT:{'uuid': '12d0d333-232f-4e17-b005-9184aeb53363', 'created_at': '2024-09-07T17:17:22.584166+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/12d0d333-232f-4e17-b005-9184aeb53363', 'rel': 'self'}, {'href': 'http://localhost/nodes/12d0d333-232f-4e17-b005-9184aeb53363', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/12d0d333-232f-4e17-b005-9184aeb53363/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/12d0d333-232f-4e17-b005-9184aeb53363/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/12d0d333-232f-4e17-b005-9184aeb53363/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/12d0d333-232f-4e17-b005-9184aeb53363/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/12d0d333-232f-4e17-b005-9184aeb53363/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/12d0d333-232f-4e17-b005-9184aeb53363/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/12d0d333-232f-4e17-b005-9184aeb53363/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/12d0d333-232f-4e17-b005-9184aeb53363/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/8b13b139-e829-4732-a15f-3eee6feb0711 {} GOT:{'uuid': '8b13b139-e829-4732-a15f-3eee6feb0711', 'created_at': '2024-09-07T17:17:22.651671+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': True, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/8b13b139-e829-4732-a15f-3eee6feb0711', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b13b139-e829-4732-a15f-3eee6feb0711', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b13b139-e829-4732-a15f-3eee6feb0711/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.139549s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.130095s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.062945s] ... ok GOT:{'nodes': [{'uuid': '7f75a462-4b76-457b-b0d8-63ec2f8e7b10', 'created_at': '2024-09-07T17:17:22.624407+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'fred', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f75a462-4b76-457b-b0d8-63ec2f8e7b10/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=bob {} GOT:{'nodes': [{'uuid': 'c03406a4-4305-4856-918d-4d4aeb6622e4', 'created_at': '2024-09-07T17:17:22.627817+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'bob', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c03406a4-4305-4856-918d-4d4aeb6622e4/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=available {} GOT:{'nodes': [{'uuid': 'b9afdae6-2aa6-423a-9a08-451cadad546a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/b9afdae6-2aa6-423a-9a08-451cadad546a', 'rel': 'self'}, {'href': 'http://localhost/nodes/b9afdae6-2aa6-423a-9a08-451cadad546a', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=deploying {} GOT:{'nodes': [{'uuid': '7beecb0c-ed55-498f-ae9d-fd3309ca5573', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7beecb0c-ed55-498f-ae9d-fd3309ca5573', 'rel': 'self'}, {'href': 'http://localhost/nodes/7beecb0c-ed55-498f-ae9d-fd3309ca5573', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-625b02d5-a417-49c5-a556-86cc25206700 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-61e85392-42dc-40db-b669-26a992862ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} GOT:{'driver_info': {'fake_password': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/node.json {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.046655s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.026566s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.042344s] ... ok GOT:{'uuid': '8fcc5536-8edf-4410-b339-9fa8dd3b8b1a', 'created_at': '2024-09-07T17:17:22.686719+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8fcc5536-8edf-4410-b339-9fa8dd3b8b1a/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.826326+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.826326+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.141567s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.120148s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.969719+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.969719+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.110043+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': True, 'protected_reason': 'reason!', 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.052994s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.052261s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.821213+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-49e893b2-77b7-4f98-a7ad-ede3d03da6ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.885653+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], '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'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.885653+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], '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'}]}]} GET: /v1/nodes/detail {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.053035s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.039214s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.924125+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.924125+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'foo', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e {} GOT:{'uuid': 'c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'created_at': '2024-09-07T17:17:22.979663+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e {} GOT:{'uuid': 'c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'created_at': '2024-09-07T17:17:22.979663+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e/ports', 'rel': 'bookmark'}]} GET: /nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e {} GOT:{'uuid': 'c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'created_at': '2024-09-07T17:17:22.979663+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2d8445e-b4d7-4484-abd5-cc342d75e04e/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.090649s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.645345+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.773022+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'agent_secret_token': '******'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=retired {} GOT:{'retired': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe829165-184f-4604-b962-e7a4ad47177a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa52b946-3301-44c6-a9eb-562c0fb45755 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.326210+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.117000s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.093105s] ... ok GOT:{'uuid': '0c91efbf-be38-49cc-9522-a15c7b0f387a', 'created_at': '2024-09-07T17:17:23.155647+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': True, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0c91efbf-be38-49cc-9522-a15c7b0f387a/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2 {} GOT:{'uuid': '4948355a-ef57-4156-81ee-d1a59d4facb2', 'created_at': '2024-09-07T17:17:23.177593+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2', 'rel': 'self'}, {'href': 'http://localhost/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4948355a-ef57-4156-81ee-d1a59d4facb2/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.217353+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'active', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': True, 'retired_reason': 'warranty expired', 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/f3de39cc-be32-4191-916e-17ac0139a846 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.053985s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.033079s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.050882+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.050882+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.158624+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.106983s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.075002s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.326210+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'foo': 'bar'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.419341+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.419341+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.505540+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.122260s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.484798s] ... ok GOT:{'uuid': 'f3de39cc-be32-4191-916e-17ac0139a846', 'created_at': '2024-09-07T17:17:23.263784+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': True, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/f3de39cc-be32-4191-916e-17ac0139a846', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3de39cc-be32-4191-916e-17ac0139a846', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f3de39cc-be32-4191-916e-17ac0139a846/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3de39cc-be32-4191-916e-17ac0139a846/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f3de39cc-be32-4191-916e-17ac0139a846/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3de39cc-be32-4191-916e-17ac0139a846/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f3de39cc-be32-4191-916e-17ac0139a846/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3de39cc-be32-4191-916e-17ac0139a846/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f3de39cc-be32-4191-916e-17ac0139a846/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3de39cc-be32-4191-916e-17ac0139a846/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39 {} GOT:{'uuid': '3c4a9c1f-c1c3-489b-a105-37ca45f8db39', 'created_at': '2024-09-07T17:17:23.281776+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': False, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c4a9c1f-c1c3-489b-a105-37ca45f8db39/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/eggs/states {} GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '1971-03-09T00:00:00+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.463929+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.198099s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.149825s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.068801s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.032056s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.158624+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.243212+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': 'akindofmagic', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.324604+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.097501s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.156379s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.143960s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.122508s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.076583s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.192201s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.029367s] ... ok GOT:{'nodes': [{'uuid': 'cb50362d-b59c-476a-9e47-2f1562fce38c', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/cb50362d-b59c-476a-9e47-2f1562fce38c', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb50362d-b59c-476a-9e47-2f1562fce38c', 'rel': 'bookmark'}]}, {'uuid': '4e2d40d1-edc6-421b-8b39-13454048b820', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/4e2d40d1-edc6-421b-8b39-13454048b820', 'rel': 'self'}, {'href': 'http://localhost/nodes/4e2d40d1-edc6-421b-8b39-13454048b820', 'rel': 'bookmark'}]}, {'uuid': '1d2abde2-aba9-4f8e-904f-2517696dd732', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/1d2abde2-aba9-4f8e-904f-2517696dd732', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d2abde2-aba9-4f8e-904f-2517696dd732', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=1d2abde2-aba9-4f8e-904f-2517696dd732'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'd302e5a9-b176-4c13-8962-e86c115cefb2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d302e5a9-b176-4c13-8962-e86c115cefb2', 'rel': 'self'}, {'href': 'http://localhost/nodes/d302e5a9-b176-4c13-8962-e86c115cefb2', 'rel': 'bookmark'}]}, {'uuid': 'bb0ebc24-9575-4018-81e8-e255a3308287', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/bb0ebc24-9575-4018-81e8-e255a3308287', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb0ebc24-9575-4018-81e8-e255a3308287', 'rel': 'bookmark'}]}, {'uuid': '397a06a4-ca93-47f7-abae-3f4aa71697e4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/397a06a4-ca93-47f7-abae-3f4aa71697e4', 'rel': 'self'}, {'href': 'http://localhost/nodes/397a06a4-ca93-47f7-abae-3f4aa71697e4', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=397a06a4-ca93-47f7-abae-3f4aa71697e4'} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:22.872439+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0354e5b0-5215-409f-a387-b3a8ae8aec7d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} GOT:{'nodes': []} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '60f7e028-756e-4621-8eb3-3a726a31026a', 'created_at': '2024-09-07T17:17:23.213351+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': '12345', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/60f7e028-756e-4621-8eb3-3a726a31026a', 'rel': 'self'}, {'href': 'http://localhost/nodes/60f7e028-756e-4621-8eb3-3a726a31026a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/60f7e028-756e-4621-8eb3-3a726a31026a/volume', 'rel': 'bookmark'}]}, {'uuid': 'd7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5', 'created_at': '2024-09-07T17:17:23.226722+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': '12345', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7dfe2e5-43a8-4b6b-8b0c-e4d8ad7395a5/volume', 'rel': 'bookmark'}]}, {'uuid': '1fe17b07-ef1c-413e-927a-bd150b393e35', 'created_at': '2024-09-07T17:17:23.229449+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': '12345', 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35', 'rel': 'self'}, {'href': 'http://localhost/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1fe17b07-ef1c-413e-927a-bd150b393e35/volume', 'rel': 'bookmark'}]}, {'uuid': '19b2c1e8-c12f-4201-b412-517ca36ab899', 'created_at': '2024-09-07T17:17:23.232019+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': '12345', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b2c1e8-c12f-4201-b412-517ca36ab899/volume', 'rel': 'bookmark'}]}, {'uuid': '7f36eecc-59ee-41e3-8f32-fd0bd85f10ac', 'created_at': '2024-09-07T17:17:23.242742+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': '12345', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f36eecc-59ee-41e3-8f32-fd0bd85f10ac/volume', 'rel': 'bookmark'}]}, {'uuid': '66a4bbb0-8411-4479-83a9-673000399122', 'created_at': '2024-09-07T17:17:23.245309+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': '12345', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/66a4bbb0-8411-4479-83a9-673000399122', 'rel': 'self'}, {'href': 'http://localhost/nodes/66a4bbb0-8411-4479-83a9-673000399122', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/66a4bbb0-8411-4479-83a9-673000399122/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/66a4bbb0-8411-4479-83a9-673000399122/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/66a4bbb0-8411-4479-83a9-673000399122/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/66a4bbb0-8411-4479-83a9-673000399122/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/66a4bbb0-8411-4479-83a9-673000399122/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/66a4bbb0-8411-4479-83a9-673000399122/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/66a4bbb0-8411-4479-83a9-673000399122/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/66a4bbb0-8411-4479-83a9-673000399122/volume', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.180299s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.052968s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.045332s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.095724s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.056651s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.116178s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.067037s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.082234s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.093453s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.085355s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.068179s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.081867s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.061903s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.063202s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.086002s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.096681s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.056848s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.059677s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.052802s] ... ok GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.505540+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': ['CUSTOM_1'], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.626161+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], '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'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.626161+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536 {} GOT:{'uuid': 'd69262ea-572a-40b5-bdfb-7b2e118c2536', 'created_at': '2024-09-07T17:17:24.116591+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://foo/v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536', 'rel': 'self'}, {'href': 'http://foo/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.109973s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.135138s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.108810s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.104823s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.463929+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.602630+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.602630+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes?fields=uuid,provision_state,maintenance,instance_uuid,last_error {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'provision_state': 'available', 'maintenance': False, 'instance_uuid': None, 'last_error': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{'ports': [{'uuid': 'bd764d42-b506-4e20-b4c3-c9b4f29b3f12', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/bd764d42-b506-4e20-b4c3-c9b4f29b3f12', 'rel': 'self'}, {'href': 'http://localhost/ports/bd764d42-b506-4e20-b4c3-c9b4f29b3f12', 'rel': 'bookmark'}]}, {'uuid': 'd83a3fbf-6e2e-4ee1-9f47-da447280fc26', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d83a3fbf-6e2e-4ee1-9f47-da447280fc26', 'rel': 'self'}, {'href': 'http://localhost/ports/d83a3fbf-6e2e-4ee1-9f47-da447280fc26', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.340240s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.134705s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.222711s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.301605s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.083951s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.324604+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.610429+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:23.610429+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d6f4bf0d-db65-42d2-b0a0-fc50a80bab01 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup None could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes?associated=False&limit=2 {} GOT:{'nodes': [{'uuid': '6bfa53db-ca64-467f-afe3-bb7b17776d92', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6bfa53db-ca64-467f-afe3-bb7b17776d92', 'rel': 'self'}, {'href': 'http://localhost/nodes/6bfa53db-ca64-467f-afe3-bb7b17776d92', 'rel': 'bookmark'}]}, {'uuid': 'ccfa6356-9705-4c44-952d-2a0970cc84a2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ccfa6356-9705-4c44-952d-2a0970cc84a2', 'rel': 'self'}, {'href': 'http://localhost/nodes/ccfa6356-9705-4c44-952d-2a0970cc84a2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=2&marker=ccfa6356-9705-4c44-952d-2a0970cc84a2'} GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.026511s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.074085s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.068100s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.085785s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.111146s] ... ok GOT:{'uuid': 'd69262ea-572a-40b5-bdfb-7b2e118c2536', 'created_at': '2024-09-07T17:17:24.116591+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://foo/v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536', 'rel': 'self'}, {'href': 'http://foo/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536/ports', 'rel': 'bookmark'}]} GET: /nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536 {} GOT:{'uuid': 'd69262ea-572a-40b5-bdfb-7b2e118c2536', 'created_at': '2024-09-07T17:17:24.116591+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://foo/v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536', 'rel': 'self'}, {'href': 'http://foo/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/d69262ea-572a-40b5-bdfb-7b2e118c2536/ports', 'rel': 'bookmark'}]} GET: /v1/nodes?associated=true&maintenance=false {} GOT:{'nodes': [{'uuid': '73a3a923-5efc-4ee1-b6d5-26c296483738', 'instance_uuid': 'd4ed972e-7ad4-4b6c-a8b2-2e87dfaee843', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/73a3a923-5efc-4ee1-b6d5-26c296483738', 'rel': 'self'}, {'href': 'http://localhost/nodes/73a3a923-5efc-4ee1-b6d5-26c296483738', 'rel': 'bookmark'}]}, {'uuid': 'd06fec88-370a-44c5-bbb5-528396c57007', 'instance_uuid': 'dc2444cd-ba77-4028-bedd-f5b5ffc06650', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d06fec88-370a-44c5-bbb5-528396c57007', 'rel': 'self'}, {'href': 'http://localhost/nodes/d06fec88-370a-44c5-bbb5-528396c57007', 'rel': 'bookmark'}]}, {'uuid': 'ec9affd1-b3d2-42fd-aa94-975e0610e09e', 'instance_uuid': '3ac4b474-a9bd-4b1a-9ccc-6a838709ea2c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ec9affd1-b3d2-42fd-aa94-975e0610e09e', 'rel': 'self'}, {'href': 'http://localhost/nodes/ec9affd1-b3d2-42fd-aa94-975e0610e09e', 'rel': 'bookmark'}]}, {'uuid': '834b3199-bfa5-4998-86e7-4b3ba6ae5c4f', 'instance_uuid': '1861be3b-4a93-44a6-802c-a1119228e1f7', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/834b3199-bfa5-4998-86e7-4b3ba6ae5c4f', 'rel': 'self'}, {'href': 'http://localhost/nodes/834b3199-bfa5-4998-86e7-4b3ba6ae5c4f', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '8d143593-f5bf-426a-95e9-bca99a175961', 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=TruE {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '8d143593-f5bf-426a-95e9-bca99a175961', 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '2e7e5e21-b266-4826-8bf4-4836de98ac73', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2e7e5e21-b266-4826-8bf4-4836de98ac73', 'rel': 'self'}, {'href': 'http://localhost/nodes/2e7e5e21-b266-4826-8bf4-4836de98ac73', 'rel': 'bookmark'}]}, {'uuid': 'a85bd535-846b-44d1-83ef-b4efabb38bae', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a85bd535-846b-44d1-83ef-b4efabb38bae', 'rel': 'self'}, {'href': 'http://localhost/nodes/a85bd535-846b-44d1-83ef-b4efabb38bae', 'rel': 'bookmark'}]}, {'uuid': '279f9c40-64f2-443e-a1b6-5d173eac1cb5', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/279f9c40-64f2-443e-a1b6-5d173eac1cb5', 'rel': 'self'}, {'href': 'http://localhost/nodes/279f9c40-64f2-443e-a1b6-5d173eac1cb5', 'rel': 'bookmark'}]}, {'uuid': '62616857-5bab-4610-aebc-230343163bc3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/62616857-5bab-4610-aebc-230343163bc3', 'rel': 'self'}, {'href': 'http://localhost/nodes/62616857-5bab-4610-aebc-230343163bc3', 'rel': 'bookmark'}]}, {'uuid': 'af2bfdd8-3623-43d5-8378-ff973c36ae72', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/af2bfdd8-3623-43d5-8378-ff973c36ae72', 'rel': 'self'}, {'href': 'http://localhost/nodes/af2bfdd8-3623-43d5-8378-ff973c36ae72', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '51f19972-9281-4bdf-b918-b58dba50f87a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/51f19972-9281-4bdf-b918-b58dba50f87a', 'rel': 'self'}, {'href': 'http://localhost/nodes/51f19972-9281-4bdf-b918-b58dba50f87a', 'rel': 'bookmark'}]}, {'uuid': 'bc02848d-15a3-4582-b7ad-071679807153', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/bc02848d-15a3-4582-b7ad-071679807153', 'rel': 'self'}, {'href': 'http://localhost/nodes/bc02848d-15a3-4582-b7ad-071679807153', 'rel': 'bookmark'}]}, {'uuid': 'bec05014-7017-43a3-a0e8-a6ea6495dbbd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/bec05014-7017-43a3-a0e8-a6ea6495dbbd', 'rel': 'self'}, {'href': 'http://localhost/nodes/bec05014-7017-43a3-a0e8-a6ea6495dbbd', 'rel': 'bookmark'}]}, {'uuid': '32c9c110-a1df-4120-adb3-805ba67048ad', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/32c9c110-a1df-4120-adb3-805ba67048ad', 'rel': 'self'}, {'href': 'http://localhost/nodes/32c9c110-a1df-4120-adb3-805ba67048ad', 'rel': 'bookmark'}]}, {'uuid': '25472c1e-45ba-4ee5-8524-c387c25b3eaa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/25472c1e-45ba-4ee5-8524-c387c25b3eaa', 'rel': 'self'}, {'href': 'http://localhost/nodes/25472c1e-45ba-4ee5-8524-c387c25b3eaa', 'rel': 'bookmark'}]}]} GET: /v1/nodes?project=54321 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.068060s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.045762s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.109608s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.090352s] ... ok GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f37b461a-19ae-459b-939b-01b60a6a6a23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c4cd7f4f-11ea-4720-a3a6-2b1561fd6095 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?detail=False&fields=name {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05c7493e-80b7-4ef1-8f91-c5099fe3e786 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} GOT:{'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean {} GOT:{'automated_clean': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/spam/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes?fields=name&limit=2 {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f4ca4066-4765-4434-93c3-0d3287404586', 'rel': 'self'}, {'href': 'http://localhost/nodes/f4ca4066-4765-4434-93c3-0d3287404586', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ad619cad-b0d2-4162-98df-e49a208ecfb3', 'rel': 'self'}, {'href': 'http://localhost/nodes/ad619cad-b0d2-4162-98df-e49a208ecfb3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=ad619cad-b0d2-4162-98df-e49a208ecfb3'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c193429d-71c3-488e-aede-b9b6ecdaeb90 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{'console_enabled': False, 'console_info': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-10e0789f-c845-4be4-be09-ce9f6414601a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80be5adc-4458-4205-830f-a4b7a9c62e1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:{'network_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes?description_contains=cat {} GOT:{'nodes': [{'uuid': 'c5934974-2037-4a13-bf58-86af07231ef6', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c5934974-2037-4a13-bf58-86af07231ef6', 'rel': 'self'}, {'href': 'http://localhost/nodes/c5934974-2037-4a13-bf58-86af07231ef6', 'rel': 'bookmark'}]}]} GET: /v1/nodes?description_contains=dog {} GOT:{'nodes': [{'uuid': '2b870057-9ed5-4af5-9f84-91c89557d6e8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/2b870057-9ed5-4af5-9f84-91c89557d6e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/2b870057-9ed5-4af5-9f84-91c89557d6e8', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1ae8781a-d9a8-45f1-bd21-23ef0a3de3c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97acf6e4-1e65-4e9e-92bf-af8a2e12c651 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} GET: /v1/nodes/detail?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9bddc8d6-f30e-4dd2-aa3a-393f2c9d158c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-79f3a74e-0046-4914-a1e1-0a4dc95d9a45 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.056585s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.071344s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.075399s] ... ok GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{'targets': [{'uuid': 'fffb7431-637b-4d51-88e5-f55f86c74b5c', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fffb7431-637b-4d51-88e5-f55f86c74b5c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fffb7431-637b-4d51-88e5-f55f86c74b5c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6c8f2b4f-0f0b-4266-b100-3ca30cae59d6', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/6c8f2b4f-0f0b-4266-b100-3ca30cae59d6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/6c8f2b4f-0f0b-4266-b100-3ca30cae59d6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{'targets': [{'uuid': 'fffb7431-637b-4d51-88e5-f55f86c74b5c', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fffb7431-637b-4d51-88e5-f55f86c74b5c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fffb7431-637b-4d51-88e5-f55f86c74b5c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=1&marker=fffb7431-637b-4d51-88e5-f55f86c74b5c'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/642389a4-be8c-4cba-8d02-dec78d82e511 {} GOT:{'uuid': '642389a4-be8c-4cba-8d02-dec78d82e511', 'created_at': '2024-09-07T17:17:24.331114+00:00', 'severity': None, 'event_type': None, 'event': 'meow', 'conductor': 'cat-tree1', 'user': 'peaches', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/642389a4-be8c-4cba-8d02-dec78d82e511', 'rel': 'self'}]} PATCH: /v1/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-75b88f90-f67f-4a28-a118-be6a8f31b026 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "69507ac6-a05f-4cb1-957e-5df2d43ee335", "created_at": "2024-09-07T17:17:24.424747+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335", "rel": "self"}, {"href": "http://localhost/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/ports", "rel": "self"}, {"href": "http://localhost/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/states", "rel": "self"}, {"href": "http://localhost/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/volume", "rel": "self"}, {"href": "http://localhost/nodes/69507ac6-a05f-4cb1-957e-5df2d43ee335/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/58b65f19-6174-48eb-8f15-54d85819843d [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.085270s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.129009s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.070693s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.096048s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.092202s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-edffe7f5-cd8f-452e-9edc-867446b67fb8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6c37c5b2-ae66-4157-87af-7ca392c1a5d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{'nodes': [{'uuid': '7e64db05-0f43-4c23-83b1-616c1523a653', 'created_at': '2024-09-07T17:17:24.710465+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '52ab1e86-f3aa-4a59-bdc8-2a654d114ca7', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7e64db05-0f43-4c23-83b1-616c1523a653', 'rel': 'self'}, {'href': 'http://localhost/nodes/7e64db05-0f43-4c23-83b1-616c1523a653', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7e64db05-0f43-4c23-83b1-616c1523a653/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7e64db05-0f43-4c23-83b1-616c1523a653/ports', 'rel': 'bookmark'}]}, {'uuid': 'ffc93ebc-5e43-4c28-899f-52eaf08efcf5', 'created_at': '2024-09-07T17:17:24.713468+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '42901320-44a1-4047-8eb0-d83b3946bddc', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ffc93ebc-5e43-4c28-899f-52eaf08efcf5', 'rel': 'self'}, {'href': 'http://localhost/nodes/ffc93ebc-5e43-4c28-899f-52eaf08efcf5', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ffc93ebc-5e43-4c28-899f-52eaf08efcf5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ffc93ebc-5e43-4c28-899f-52eaf08efcf5/ports', 'rel': 'bookmark'}]}, {'uuid': 'ecf80d15-25f6-4d65-b587-2c37dfd78e9b', 'created_at': '2024-09-07T17:17:24.721195+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': 'e26f1a82-17ef-4890-9944-1fa12ddfea15', 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ecf80d15-25f6-4d65-b587-2c37dfd78e9b', 'rel': 'self'}, {'href': 'http://localhost/nodes/ecf80d15-25f6-4d65-b587-2c37dfd78e9b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/ecf80d15-25f6-4d65-b587-2c37dfd78e9b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ecf80d15-25f6-4d65-b587-2c37dfd78e9b/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=ecf80d15-25f6-4d65-b587-2c37dfd78e9b'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:24.795028+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.086332s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.109775s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.075209s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.061016s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.078972s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4fa385ae-8e86-49ea-8b7c-b2989e544406 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:24.780392+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:24.862127+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/test.1 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.067471s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.047436s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.062542s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.034870s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.041490s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.075043s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.054870s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.343982s] ... ok GOT:{'ports': [{'uuid': 'bd764d42-b506-4e20-b4c3-c9b4f29b3f12', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/bd764d42-b506-4e20-b4c3-c9b4f29b3f12', 'rel': 'self'}, {'href': 'http://localhost/ports/bd764d42-b506-4e20-b4c3-c9b4f29b3f12', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=bd764d42-b506-4e20-b4c3-c9b4f29b3f12'} GET: /v1/nodes/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for node: 123 123\"}"} GET: /v1/nodes?sort_key=resource_class {} GOT:{'nodes': [{'uuid': 'f4d48349-4f2f-44e9-8dea-3047a9bc095f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f4d48349-4f2f-44e9-8dea-3047a9bc095f', 'rel': 'self'}, {'href': 'http://localhost/nodes/f4d48349-4f2f-44e9-8dea-3047a9bc095f', 'rel': 'bookmark'}]}, {'uuid': '9717c950-5ca5-434d-8db6-d3546cba7bdd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/9717c950-5ca5-434d-8db6-d3546cba7bdd', 'rel': 'self'}, {'href': 'http://localhost/nodes/9717c950-5ca5-434d-8db6-d3546cba7bdd', 'rel': 'bookmark'}]}, {'uuid': '299b646d-a9ff-4c51-ac82-aa2aa718e5f1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/299b646d-a9ff-4c51-ac82-aa2aa718e5f1', 'rel': 'self'}, {'href': 'http://localhost/nodes/299b646d-a9ff-4c51-ac82-aa2aa718e5f1', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=false {} GOT:{'nodes': [{'uuid': 'c7107398-916c-47f0-93df-bf91cb3fd4d2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c7107398-916c-47f0-93df-bf91cb3fd4d2', 'rel': 'self'}, {'href': 'http://localhost/nodes/c7107398-916c-47f0-93df-bf91cb3fd4d2', 'rel': 'bookmark'}]}, {'uuid': '20f6b528-9006-43f1-9544-7b4bfc7c8a36', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/20f6b528-9006-43f1-9544-7b4bfc7c8a36', 'rel': 'self'}, {'href': 'http://localhost/nodes/20f6b528-9006-43f1-9544-7b4bfc7c8a36', 'rel': 'bookmark'}]}, {'uuid': '8035a325-f5c6-417e-bcd9-e35e92eb4b43', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8035a325-f5c6-417e-bcd9-e35e92eb4b43', 'rel': 'self'}, {'href': 'http://localhost/nodes/8035a325-f5c6-417e-bcd9-e35e92eb4b43', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=FALSE {} GOT:{'nodes': [{'uuid': 'c7107398-916c-47f0-93df-bf91cb3fd4d2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c7107398-916c-47f0-93df-bf91cb3fd4d2', 'rel': 'self'}, {'href': 'http://localhost/nodes/c7107398-916c-47f0-93df-bf91cb3fd4d2', 'rel': 'bookmark'}]}, {'uuid': '20f6b528-9006-43f1-9544-7b4bfc7c8a36', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/20f6b528-9006-43f1-9544-7b4bfc7c8a36', 'rel': 'self'}, {'href': 'http://localhost/nodes/20f6b528-9006-43f1-9544-7b4bfc7c8a36', 'rel': 'bookmark'}]}, {'uuid': '8035a325-f5c6-417e-bcd9-e35e92eb4b43', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/8035a325-f5c6-417e-bcd9-e35e92eb4b43', 'rel': 'self'}, {'href': 'http://localhost/nodes/8035a325-f5c6-417e-bcd9-e35e92eb4b43', 'rel': 'bookmark'}]}]} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e14cb7fc-6ce4-42dc-a87f-69282e37d0e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:{'history': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 {} GOT:{'history': [{'uuid': 'c6265190-e9c1-462c-a3b1-0aa6d8d49e2b', 'created_at': '2024-09-07T17:17:25.093900+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c6265190-e9c1-462c-a3b1-0aa6d8d49e2b', 'rel': 'self'}]}], 'next': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=c6265190-e9c1-462c-a3b1-0aa6d8d49e2b'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=c6265190-e9c1-462c-a3b1-0aa6d8d49e2b {} GOT:{'history': [{'uuid': '2ba42914-f00b-49be-b46c-6713dd05203f', 'created_at': '2024-09-07T17:17:25.094901+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2ba42914-f00b-49be-b46c-6713dd05203f', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2024-09-07T17:17:25Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=c6265190-e9c1-462c-a3b1-0aa6d8d49e2b)&fields=uuid,created_at,severity,event&limit=1&marker=2ba42914-f00b-49be-b46c-6713dd05203f"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=2ba42914-f00b-49be-b46c-6713dd05203f {} GOT:{'history': [{'uuid': '05427e55-f0a3-40a2-a815-450f1706ab69', 'created_at': '2024-09-07T17:17:25.095691+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/05427e55-f0a3-40a2-a815-450f1706ab69', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2024-09-07T17:17:25Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=2ba42914-f00b-49be-b46c-6713dd05203f)&fields=uuid,created_at,severity,event&limit=1&marker=05427e55-f0a3-40a2-a815-450f1706ab69"} 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-015ac08f-28a5-48dd-a6ea-d5d812696457 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.076492s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.066305s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.389682s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.076304s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.033472s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.036670s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.033961s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.028538s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.065767s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.042293s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.077039s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:24.795028+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes?instance_uuid=f1892d0c-45e2-4494-a1cd-b9f24e79f768 {} GOT:{'nodes': [{'uuid': 'e0a1f0c7-ce55-4c3d-b578-f96b3c3d9962', 'instance_uuid': 'f1892d0c-45e2-4494-a1cd-b9f24e79f768', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/e0a1f0c7-ce55-4c3d-b578-f96b3c3d9962', 'rel': 'self'}, {'href': 'http://localhost/nodes/e0a1f0c7-ce55-4c3d-b578-f96b3c3d9962', 'rel': 'bookmark'}]}]} GET: /v1/nodes?instance_uuid=dfeb2f9b-7594-49c2-b4ef-17cf317c0f33 {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:25.026860+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '2000-01-01T00:00:00+00:00', 'raid_config': {'foo': 'bar'}, 'target_raid_config': {'foo': 'bar'}} GET: /v1/nodes/2e4ce99c-121a-4b95-b029-194a7f6a1f0c/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': True} GET: /v1/nodes/1a8b74ba-6277-4072-87e4-02fbaa28e316/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': False} GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes?sort_key=uuid {} GOT:{'nodes': [{'uuid': '1d6680e9-bda0-4819-8cd7-cefff2152306', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1d6680e9-bda0-4819-8cd7-cefff2152306', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d6680e9-bda0-4819-8cd7-cefff2152306', 'rel': 'bookmark'}]}, {'uuid': '6b54b07a-b447-479b-88fb-3841c4ec205b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6b54b07a-b447-479b-88fb-3841c4ec205b', 'rel': 'self'}, {'href': 'http://localhost/nodes/6b54b07a-b447-479b-88fb-3841c4ec205b', 'rel': 'bookmark'}]}, {'uuid': 'a60fc5f1-04e0-417f-aba6-30c49b0153aa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/a60fc5f1-04e0-417f-aba6-30c49b0153aa', 'rel': 'self'}, {'href': 'http://localhost/nodes/a60fc5f1-04e0-417f-aba6-30c49b0153aa', 'rel': 'bookmark'}]}]} GET: /v1/nodes/validate?node=spam {} GOT:{} GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.066032s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.025265s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.032852s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.087533s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d29945d-071f-42de-bafd-ec20949cf006 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "58b65f19-6174-48eb-8f15-54d85819843d", "created_at": "2024-09-07T17:17:24.500338+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/58b65f19-6174-48eb-8f15-54d85819843d", "rel": "self"}, {"href": "http://localhost/nodes/58b65f19-6174-48eb-8f15-54d85819843d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58b65f19-6174-48eb-8f15-54d85819843d/ports", "rel": "self"}, {"href": "http://localhost/nodes/58b65f19-6174-48eb-8f15-54d85819843d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58b65f19-6174-48eb-8f15-54d85819843d/states", "rel": "self"}, {"href": "http://localhost/nodes/58b65f19-6174-48eb-8f15-54d85819843d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58b65f19-6174-48eb-8f15-54d85819843d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58b65f19-6174-48eb-8f15-54d85819843d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58b65f19-6174-48eb-8f15-54d85819843d/volume", "rel": "self"}, {"href": "http://localhost/nodes/58b65f19-6174-48eb-8f15-54d85819843d/volume", "rel": "bookmark"}]} 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-ee20037d-a42b-4305-9a66-082911050bf7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-64632689-edea-4574-b69b-037bf17bd744 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e1ccdfd-102b-4641-8a2b-68fa7bbd14ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:24.776439+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': True}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d9463914-5ffb-4aa0-9f00-df5b66bf3670 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:24.886291+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} 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-dfb4a5f2-b4ea-4b7e-84dd-e079cb8e08bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/boot_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e4b23bd-cd38-4e86-8314-0b393f895fd9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b36eaa5-2c42-496b-baf4-af32ed1d983c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-13d9c762-b399-4ed3-b631-6b64ba6b9f37 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05fd6116-b2c6-49d3-b9e3-a7e2c1fe894f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/management_interface', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.060796s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.148504s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.036470s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.066251s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afd37304-09a4-42ec-82d0-2a579079027c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd7c7172-6c13-4070-87d3-f2e85cb088db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/raid_interface', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.361675s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.104050s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.070677s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.061620s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.035174s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.071174s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.023663s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.048502s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.032874s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.023019s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.044213s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-891fe27f-eb7d-4a9a-beda-6b4acd923bc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:25.217299+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7aee6324-5d9a-4b54-b833-106290d2e075 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f5dc54a1-59ad-4f14-a95d-a9a97ea3e951 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/bdc11139-8df9-4192-8c7b-752b149f5733 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '3685bf3c-5610-4ce9-84e5-2a106adde88a'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4b5719bd-48f8-4e8e-941e-27a054adf4cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/12e423b7-52cd-4ea2-9234-66771c851d07 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '911d6eae-81e2-4cf5-97a8-d205e9109198'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec0ce970-c441-4ae7-afd1-361dfb9ec5dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/30041eb3-c1e6-4a2a-9441-a812a1adda0d [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4a66ddd4-77b3-4e25-9bd1-d2ec3afd3aec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\", \"debuginfo\": null}"} PATCH: /v1/nodes/2a1c102d-a2de-46af-80cb-78b2a2b4987a [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75b427fb-188c-4949-bc6a-e31bcda50edc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /fault. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3284ae95-c939-479c-8d6a-b841430e7725 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:25.651804+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.062944s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.041002s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.072267s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.073438s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:24.931109+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'test.1', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected {} GOT:{'protected': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:{'storage_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-13c146ca-2df1-4dbb-a72b-f8aed3767d0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:25.660247+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:25.660247+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': '2015-03-18T19:20:00+00:00', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6ae90e35-d30e-48f0-becb-d51031fefc19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid maintenance: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-816e9de2-9add-4f16-9955-5200edefe6fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.120547s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.131410s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0de9fded-e64a-4725-9557-f4a658b889fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9 [{'path': '/vendor_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b37bf3d-7391-465f-b84c-ff40c00b135c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a4762fb4-2802-4915-bc64-f1319762a2e9", "created_at": "2024-09-07T17:17:25.323713+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "self"}, {"href": "http://localhost/nodes/a4762fb4-2802-4915-bc64-f1319762a2e9/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/name', 'value': 'new name', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2e243426-17bb-40a4-bcdc-2ad70111af3b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The reset_interfaces parameter can only be used when changing the node's driver.\", \"debuginfo\": null}"} PATCH: /v1/nodes/d887384c-ff26-4246-be6a-ec028c0b2844 [{'path': '/automated_clean', 'value': False, 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20e2fd2d-4b2c-48bf-bdc7-783c0dd70da3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} PATCH: /v1/nodes/16059bb2-5529-4b98-8384-72d4014358a0 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6c66d7d9-03a2-4b4b-b849-1a5f16ccc116 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2 [{'path': '/instance_uuid', 'op': 'remove'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.127479s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.074125s] ... ok GOT:{'connectors': [{'uuid': '211e6302-d008-4e77-8934-d7416db8ba05', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/211e6302-d008-4e77-8934-d7416db8ba05', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/211e6302-d008-4e77-8934-d7416db8ba05', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2690770e-ef75-4363-9500-ebf3a4616407', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2690770e-ef75-4363-9500-ebf3a4616407', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2690770e-ef75-4363-9500-ebf3a4616407', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{'connectors': [{'uuid': '211e6302-d008-4e77-8934-d7416db8ba05', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/211e6302-d008-4e77-8934-d7416db8ba05', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/211e6302-d008-4e77-8934-d7416db8ba05', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=1&marker=211e6302-d008-4e77-8934-d7416db8ba05'} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d37d5a7b-c032-42ec-be09-f360fae53a1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c29e4fd1-9696-4356-972c-d9674118552e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:25.640851+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true {} GOT:{'history': [{'uuid': 'ae5572bb-4c4f-462b-ae6e-752647474f4f', 'created_at': '2024-09-07T17:17:25.720647+00:00', 'severity': None, 'event_type': None, 'event': 'meow', 'conductor': 'cat-tree1', 'user': 'peaches', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ae5572bb-4c4f-462b-ae6e-752647474f4f', 'rel': 'self'}]}, {'uuid': '1a82f51b-85fe-494f-a371-164de71be56b', 'created_at': '2024-09-07T17:17:25.721981+00:00', 'severity': None, 'event_type': None, 'event': 'purr', 'conductor': 'cat-tree2', 'user': 'sage', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1a82f51b-85fe-494f-a371-164de71be56b', 'rel': 'self'}]}, {'uuid': 'a5076454-d1ef-4865-9cad-6da9e35baa18', 'created_at': '2024-09-07T17:17:25.722792+00:00', 'severity': None, 'event_type': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr!', 'conductor': 'cat-tree3', 'user': 'bella', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a5076454-d1ef-4865-9cad-6da9e35baa18', 'rel': 'self'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:{'history': [{'uuid': 'c9414e63-797c-4e14-83f3-7c831e6c4c8c', 'created_at': '2024-09-07T17:17:25.756883+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c9414e63-797c-4e14-83f3-7c831e6c4c8c', 'rel': 'self'}]}, {'uuid': '714b1009-1b6e-4d0a-b10d-1bf63b48fd55', 'created_at': '2024-09-07T17:17:25.757739+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/714b1009-1b6e-4d0a-b10d-1bf63b48fd55', 'rel': 'self'}]}, {'uuid': 'fcf53d8c-8fc8-481b-88dd-efda0f75177d', 'created_at': '2024-09-07T17:17:25.758522+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/fcf53d8c-8fc8-481b-88dd-efda0f75177d', 'rel': 'self'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/1234 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.126671s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.117660s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af3f0bf3-c8c6-4367-857f-e29eca83a6c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:25.724308+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818 [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97e64e0c-061e-41d1-9fcb-c176ac8ac967 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2ad10a55-3d33-4a6b-abd2-429f0b8f0818", "created_at": "2024-09-07T17:17:25.797162+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818", "rel": "self"}, {"href": "http://localhost/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/ports", "rel": "self"}, {"href": "http://localhost/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/states", "rel": "self"}, {"href": "http://localhost/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/volume", "rel": "self"}, {"href": "http://localhost/nodes/2ad10a55-3d33-4a6b-abd2-429f0b8f0818/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-865fd97b-db1c-42c0-9ddf-c0eef27c3146 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "0fc3f50c-8132-440c-8b1e-05c18c3727d0", "created_at": "2024-09-07T17:17:25.872608+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0", "rel": "self"}, {"href": "http://localhost/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/ports", "rel": "self"}, {"href": "http://localhost/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/states", "rel": "self"}, {"href": "http://localhost/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/volume", "rel": "self"}, {"href": "http://localhost/nodes/0fc3f50c-8132-440c-8b1e-05c18c3727d0/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.128349s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.088393s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.170343s] ... ok GOT:{'nodes': [{'uuid': '18df0463-b245-4f3f-85b9-919730cf9ded', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/18df0463-b245-4f3f-85b9-919730cf9ded', 'rel': 'self'}, {'href': 'http://localhost/nodes/18df0463-b245-4f3f-85b9-919730cf9ded', 'rel': 'bookmark'}]}, {'uuid': '6d9c0123-be61-42cb-a9e0-0d894a28affa', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6d9c0123-be61-42cb-a9e0-0d894a28affa', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d9c0123-be61-42cb-a9e0-0d894a28affa', 'rel': 'bookmark'}]}, {'uuid': '0f63519d-0027-4294-8f9b-6e2f7ce101e8', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0f63519d-0027-4294-8f9b-6e2f7ce101e8', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f63519d-0027-4294-8f9b-6e2f7ce101e8', 'rel': 'bookmark'}]}, {'uuid': '75096e59-88c0-4e72-b215-cc5eb210f657', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/75096e59-88c0-4e72-b215-cc5eb210f657', 'rel': 'self'}, {'href': 'http://localhost/nodes/75096e59-88c0-4e72-b215-cc5eb210f657', 'rel': 'bookmark'}]}, {'uuid': '67bad124-a3da-4790-adb0-83e2b50280e1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/67bad124-a3da-4790-adb0-83e2b50280e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/67bad124-a3da-4790-adb0-83e2b50280e1', 'rel': 'bookmark'}]}, {'uuid': 'c04a1fdc-4d1b-4df1-b210-c43cd7e12c86', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/c04a1fdc-4d1b-4df1-b210-c43cd7e12c86', 'rel': 'self'}, {'href': 'http://localhost/nodes/c04a1fdc-4d1b-4df1-b210-c43cd7e12c86', 'rel': 'bookmark'}]}]} GET: /v1/nodes/?limit=3&associated=True {} GOT:{'nodes': [{'uuid': '86f5ac78-4886-4590-ad59-4d2b7d75adae', 'instance_uuid': '40fc5e73-95b8-4c39-9edc-b91c60759296', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/86f5ac78-4886-4590-ad59-4d2b7d75adae', 'rel': 'self'}, {'href': 'http://localhost/nodes/86f5ac78-4886-4590-ad59-4d2b7d75adae', 'rel': 'bookmark'}]}, {'uuid': '6f39b06e-0fa4-4f75-a579-e446cd3d97ca', 'instance_uuid': 'd2b66761-ac8b-41ba-891e-e5e67b44cf02', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6f39b06e-0fa4-4f75-a579-e446cd3d97ca', 'rel': 'self'}, {'href': 'http://localhost/nodes/6f39b06e-0fa4-4f75-a579-e446cd3d97ca', 'rel': 'bookmark'}]}, {'uuid': '2ddb0a47-a477-42f7-9419-8e36ea1acddb', 'instance_uuid': '8017837f-b3d1-4154-8938-d7545db83e55', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2ddb0a47-a477-42f7-9419-8e36ea1acddb', 'rel': 'self'}, {'href': 'http://localhost/nodes/2ddb0a47-a477-42f7-9419-8e36ea1acddb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=2ddb0a47-a477-42f7-9419-8e36ea1acddb'} GET: /v1/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35 {} GOT:{'uuid': '390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35', 'created_at': '2024-09-07T17:17:26.061453+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'bios', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35', 'rel': 'self'}, {'href': 'http://localhost/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/390f1cfa-2cbf-4e5a-96ca-f6e798b4eb35/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.117959s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.064717s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.154840s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.076503s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.050832s] ... ok GOT:{'uuid': 'c2850abe-ed06-45cb-9bb8-477c2551c5cc', 'created_at': '2024-09-07T17:17:26.091245+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': 'uefi', 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c2850abe-ed06-45cb-9bb8-477c2551c5cc/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.172708+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.172708+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes?instance_uuid=fake {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.022063s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.031618s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a69e9dec-6d11-41e3-8cf7-427306e15674 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "e4a86d98-228f-418a-b85e-71515dea2ef2", "created_at": "2024-09-07T17:17:25.864141+00:00", "updated_at": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2", "rel": "self"}, {"href": "http://localhost/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/ports", "rel": "self"}, {"href": "http://localhost/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/states", "rel": "self"}, {"href": "http://localhost/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/volume", "rel": "self"}, {"href": "http://localhost/nodes/e4a86d98-228f-418a-b85e-71515dea2ef2/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/927ad080-4adb-40df-81dd-4f87191e5b32 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-337577c6-c886-4705-8cf9-451cd1dfeaa7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6 [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6f53e2d5-9668-4f1c-b7d8-4a9cd056e302 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "1761d193-dd65-40ab-8ef5-e9ca0d2857d6", "created_at": "2024-09-07T17:17:26.063795+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6", "rel": "self"}, {"href": "http://localhost/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/states", "rel": "self"}, {"href": "http://localhost/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/volume", "rel": "self"}, {"href": "http://localhost/nodes/1761d193-dd65-40ab-8ef5-e9ca0d2857d6/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.070638s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.081749s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.081405s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.092689s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.049122s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.067751s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.057803s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.079375s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.128404s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-427437c2-fac9-49e9-b079-68c1186355c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for instance_uuid: fake\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.245801+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.245801+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.328320+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], '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'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.079862s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.110784s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.129188s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-87611bb0-31cc-495a-a98f-c18c7db51610 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "00b2adec-74b5-4ecc-b90b-86fe1ea00636", "created_at": "2024-09-07T17:17:25.948709+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {"foo": "bar"}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636", "rel": "self"}, {"href": "http://localhost/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/ports", "rel": "self"}, {"href": "http://localhost/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/states", "rel": "self"}, {"href": "http://localhost/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/volume", "rel": "self"}, {"href": "http://localhost/nodes/00b2adec-74b5-4ecc-b90b-86fe1ea00636/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3 [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88e957a0-c03b-4b4b-9fb4-2ff97ac306ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9adfe3fc-7f8c-441b-8a4a-5be511d147d3", "created_at": "2024-09-07T17:17:26.135671+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3", "rel": "self"}, {"href": "http://localhost/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/ports", "rel": "self"}, {"href": "http://localhost/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/states", "rel": "self"}, {"href": "http://localhost/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/volume", "rel": "self"}, {"href": "http://localhost/nodes/9adfe3fc-7f8c-441b-8a4a-5be511d147d3/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/9bb50f13-0b8d-4ade-ad2d-d91fefdef9ff [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e113d4c9-342c-4dc3-8a35-6cdeb7222e35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca7d2f9e-bcc2-45e1-9c8c-c600fd5d2d2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4aca1e17-ca02-4203-b2d0-dedb6c8fab99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8f24ef5e-92d6-462b-9f26-6031ec8e91e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.037891s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.039617s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.057778s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5c7d4107-fdc0-4c89-bc5d-fd382003b9eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:25.869173+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/8dbd64b7-b5bb-4645-8146-17ae7bcb516e [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a60e367b-264c-48e5-8868-86173f7e291f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8dbd64b7-b5bb-4645-8146-17ae7bcb516e", "created_at": "2024-09-07T17:17:26.014924+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "deploy failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "active", "links": [{"href": "http://localhost/v1/nodes/8dbd64b7-b5bb-4645-8146-17ae7bcb516e", "rel": "self"}, {"href": "http://localhost/nodes/8dbd64b7-b5bb-4645-8146-17ae7bcb516e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/8dbd64b7-b5bb-4645-8146-17ae7bcb516e/ports", "rel": "self"}, {"href": "http://localhost/nodes/8dbd64b7-b5bb-4645-8146-17ae7bcb516e/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'i am invalid'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-722bee36-5de2-410e-b373-9841710be7c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11274dc5-2ec2-48e2-a519-0b0151d692d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} PATCH: /v1/nodes/5857fcbb-e41a-490c-a54f-7e92888cb582 [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-62f98ee5-04fa-4619-8c42-4e3eaa097aa4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.44 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /deploy_step. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8dbe9122-231e-41a2-b54d-7b8efb539491 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "fe78f853-248d-4283-bc5c-f67492d3a0ea", "created_at": "2024-09-07T17:17:26.380218+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": "foo", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea", "rel": "self"}, {"href": "http://localhost/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/ports", "rel": "self"}, {"href": "http://localhost/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/states", "rel": "self"}, {"href": "http://localhost/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/volume", "rel": "self"}, {"href": "http://localhost/nodes/fe78f853-248d-4283-bc5c-f67492d3a0ea/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.067428s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.066807s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.091141s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.054641s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.124663s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.389491+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.389491+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.526339+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.063516s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.047194s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.078874s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.043488s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.584553+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.584553+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.663427+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.077351s] ... ok PATCH: /v1/nodes/2151a8de-123f-4d7e-8b91-0100ba004c86 [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-22a176f2-b4a3-4ddf-ab1f-bde57a8ea0f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.62 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/d482ec9b-2589-456a-8ea0-da740040e724 [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f1a00060-3746-411f-8c04-eae3f5d7265f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid network_data: 'links' is a required property \", \"debuginfo\": null}"} PATCH: /v1/nodes/318e8b93-142d-4c2c-ae50-10bcc5e9bcb4 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-38402c87-708b-472d-9ff5-e42e32189492 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11 [{'op': 'remove', 'path': '/protected'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aec84825-1664-4124-9d24-3656a066e536 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11", "created_at": "2024-09-07T17:17:26.472140+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11", "rel": "self"}, {"href": "http://localhost/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/ports", "rel": "self"}, {"href": "http://localhost/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/states", "rel": "self"}, {"href": "http://localhost/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/volume", "rel": "self"}, {"href": "http://localhost/nodes/e26e7ac9-9e8c-4d14-8fc7-0de8f1de0e11/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/965fa17f-eb1a-4881-895d-9546da724245 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fa5816c4-377d-4d5b-87cf-71f81a5980ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "965fa17f-eb1a-4881-895d-9546da724245", "created_at": "2024-09-07T17:17:26.600458+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/965fa17f-eb1a-4881-895d-9546da724245", "rel": "self"}, {"href": "http://localhost/nodes/965fa17f-eb1a-4881-895d-9546da724245", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/965fa17f-eb1a-4881-895d-9546da724245/ports", "rel": "self"}, {"href": "http://localhost/nodes/965fa17f-eb1a-4881-895d-9546da724245/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/965fa17f-eb1a-4881-895d-9546da724245/states", "rel": "self"}, {"href": "http://localhost/nodes/965fa17f-eb1a-4881-895d-9546da724245/states", "rel": "bookmark"}]} PATCH: /v1/nodes/ca33086b-5737-451a-ad85-107dfac351da [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.047706s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.091471s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.110772s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.093520s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.041027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.064685s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6003c429-b5d7-4ffd-93d6-9bf76381a6b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'op': 'replace', 'value': True}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e724625-1c89-4d0a-ad11-26a50f4ce362 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /console_enabled. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8c22e17a-640b-4638-ab5b-80dd5db46e67 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /power_state. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/4dc8eb7c-12d0-4fb1-bdb6-1f14f423426e [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-418fe6e2-d0d6-418a-b398-370de2d99aa5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "4dc8eb7c-12d0-4fb1-bdb6-1f14f423426e", "created_at": "2024-09-07T17:17:26.603133+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": true, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": "power off", "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/4dc8eb7c-12d0-4fb1-bdb6-1f14f423426e", "rel": "self"}, {"href": "http://localhost/nodes/4dc8eb7c-12d0-4fb1-bdb6-1f14f423426e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4dc8eb7c-12d0-4fb1-bdb6-1f14f423426e/ports", "rel": "self"}, {"href": "http://localhost/nodes/4dc8eb7c-12d0-4fb1-bdb6-1f14f423426e/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/6cb1eb0d-f04c-4276-af46-f4ff49ef10f4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d86ce878-bb76-42d8-bcf2-d238f2dd0839 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "6cb1eb0d-f04c-4276-af46-f4ff49ef10f4", "created_at": "2024-09-07T17:17:26.680332+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": "power off", "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/6cb1eb0d-f04c-4276-af46-f4ff49ef10f4", "rel": "self"}, {"href": "http://localhost/nodes/6cb1eb0d-f04c-4276-af46-f4ff49ef10f4", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6cb1eb0d-f04c-4276-af46-f4ff49ef10f4/ports", "rel": "self"}, {"href": "http://localhost/nodes/6cb1eb0d-f04c-4276-af46-f4ff49ef10f4/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.108525s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.044178s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.049372s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.088074s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.067001s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.663427+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.774394+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:26.774394+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '2000-01-01T00:00:00+00:00'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.062057s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.054763s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.063061s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.071687s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.039032s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.048997s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.039468s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.073931s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.037215s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1a5417b0-d248-495a-8802-d600366a340b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cefdbae3-7bce-46dc-9a6f-e44fa75f2b85 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-828719a1-6182-498c-893c-8a4a9a7e1cb9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c6aa154c-834b-442c-ab86-223fc587644a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f64f5a81-c974-46a2-8b42-95214d679474 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-15e9b8f5-7618-48fb-81b5-54e0f686f64c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:26.759414+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "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"}], "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"}], "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"}]} 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-f43b38d8-ae1e-47f8-a578-8515d24cdc34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /last_error. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-faa445fe-5d97-4e4a-adcf-ee1c3ecac189 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:26.887139+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'op': 'replace', 'value': True}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.063434s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.029480s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.054717s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.085643s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.064854s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9eb781f7-06d2-4770-a4b7-f0be99600071 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c3c7dd41-a34a-49f3-9c2d-f13097e3e69b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:26.727790+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "bios_interface": null, "boot_interface": null, "clean_step": {}, "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": "node-57.1", "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_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"}], "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ba51d376-e6f8-4c7c-bd7b-0690335f6f9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b38e3357-6b2e-4e68-9fad-1f74f2d125bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'neutron', 'noop'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c68680e5-526e-47a5-baa2-99293e5d9706 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3a5749d3-8884-43d6-80ae-777a1e810c61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f36c67ce-96b2-4930-8c65-9a9a6a8d9e5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.092195s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.045226s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.064321s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.069629s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.042990s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.056341s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.060141s] ... ok GET: /v1/nodes/8d603ce2-8f0a-4e6c-961f-e8b4e9dc1f53/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'bios', 'secure_boot': None} GET: /v1/nodes/9b3e9919-532d-4d1b-b4ca-836294f273e7/states {} GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': 'uefi', 'secure_boot': None} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{'portgroups': [{'uuid': '9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad', 'rel': 'bookmark'}]}, {'uuid': 'c7c43f59-b19f-4482-aef6-f814b4e424ec', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/c7c43f59-b19f-4482-aef6-f814b4e424ec', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c7c43f59-b19f-4482-aef6-f814b4e424ec', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{'portgroups': [{'uuid': '9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=9d0b19d4-3f78-4ad1-afb5-01b6e4fa18ad'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:27.051082+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], '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'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:27.124825+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:27.178579+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} 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-5afb0c3b-8ab7-42fb-a661-008bdb12479c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a00787a8-bdf9-4d76-9a8c-587d0e764e88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=properties {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.069181s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.099854s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-055b6a27-cf34-4985-a41e-62984716acc9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "e3395a55-337a-4769-88e4-aaa97b2e717f", "created_at": "2024-09-07T17:17:26.749578+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f", "rel": "self"}, {"href": "http://localhost/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/ports", "rel": "self"}, {"href": "http://localhost/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/states", "rel": "self"}, {"href": "http://localhost/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/volume", "rel": "self"}, {"href": "http://localhost/nodes/e3395a55-337a-4769-88e4-aaa97b2e717f/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-890f0744-ed66-4cb8-88ac-185d5c103fab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "5998fb70-04c5-4a98-8e7c-481ca28e706e", "created_at": "2024-09-07T17:17:26.874834+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e", "rel": "self"}, {"href": "http://localhost/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/ports", "rel": "self"}, {"href": "http://localhost/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/states", "rel": "self"}, {"href": "http://localhost/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/volume", "rel": "self"}, {"href": "http://localhost/nodes/5998fb70-04c5-4a98-8e7c-481ca28e706e/volume", "rel": "bookmark"}]} 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-6d476968-07a3-4c23-9898-e91eff7b0df2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\", \"debuginfo\": null}"} PATCH: /v1/nodes/1c315476-1f25-4941-b8b4-4594df0b6d93 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-754d806d-73cb-4c58-98a7-ceb81fe801da X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"1c315476-1f25-4941-b8b4-4594df0b6d93\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fffb5e3e-1bf4-45f5-9a3d-5de62a418d8d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49fd8e9e-3ff1-4d1f-b668-1f788635ec3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d8d1075-acc4-4c7c-b801-e85bcd3a67e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91203b00-8fd9-4426-80d9-b500f8efbc5f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d82532e-99fa-49c8-a5f0-4cbea31d62a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d926e54b-0c48-456c-8132-a0057743b68d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.281363s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.070295s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-633c8430-e64f-49a4-92e7-5f652d05fd97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:27.114757+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:27.114757+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cc88caeb-a667-493c-ad2c-8d0faeb7cff7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-58a53f1c-6598-4122-bf87-abf4714d12ed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:27.302492+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "conductor_group": "foo", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.134962s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.096517s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.085481s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.096647s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6190d4cb-13cb-41fa-b805-c7607c41a0eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:26.955562+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-73dfb8f0-d51c-4fe4-a793-aaacab676726 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /provision_updated_at. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-78831f6c-1624-4d4e-856f-9ed4600546c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/68eefbcd-bd22-422c-9d0a-69e677594188 [{'path': '/network_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eedef387-62b4-48b1-8b53-88eda3554634 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "68eefbcd-bd22-422c-9d0a-69e677594188", "created_at": "2024-09-07T17:17:27.118583+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/68eefbcd-bd22-422c-9d0a-69e677594188", "rel": "self"}, {"href": "http://localhost/nodes/68eefbcd-bd22-422c-9d0a-69e677594188", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/ports", "rel": "self"}, {"href": "http://localhost/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/states", "rel": "self"}, {"href": "http://localhost/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/volume", "rel": "self"}, {"href": "http://localhost/nodes/68eefbcd-bd22-422c-9d0a-69e677594188/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/f83c3371-b423-4fc6-aaaf-cbbe6417eae2 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-159843ab-a3c2-41a9-b35a-66f13f562a5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6cc5f104-33da-4cfc-8f59-c6c9d0acc4b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/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-8691ffcb-7c1a-4a97-b85f-364b27aeeace X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} PATCH: /v1/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.099807s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.059313s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.046884s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.089328s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92769d9c-c1f6-41a0-aa83-79b8aabd8197 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ebe081b6-2e9f-43ac-bdf2-b410701a7958 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "created_at": "2024-09-07T17:17:27.119808+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "self"}, {"href": "http://localhost/nodes/076a2b06-3ebe-47e5-98a0-c2af1d92df2e/volume", "rel": "bookmark"}]} 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-f703f342-77ab-4473-be06-b5c7754c8761 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:27.358245+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.144753s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.105166s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.070191s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.077321s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.152598s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.069628s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.056475s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91ec016b-a384-47cd-97c4-38280579dae9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "2e9ebb00-5f13-4a78-bac8-846bcb56ce58", "created_at": "2024-09-07T17:17:27.405830+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58", "rel": "self"}, {"href": "http://localhost/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/ports", "rel": "self"}, {"href": "http://localhost/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/states", "rel": "self"}, {"href": "http://localhost/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/volume", "rel": "self"}, {"href": "http://localhost/nodes/2e9ebb00-5f13-4a78-bac8-846bcb56ce58/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/9fb94aa6-e4ff-4a16-b774-cc84feb457eb [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-37e8185a-ff61-4356-bf59-f539e5e616ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5 [{'path': '/protected', 'value': 'True', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-115fa5a3-0bfa-4445-8d3c-2fc3b36ed8fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5", "created_at": "2024-09-07T17:17:27.538984+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5", "rel": "self"}, {"href": "http://localhost/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/ports", "rel": "self"}, {"href": "http://localhost/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/states", "rel": "self"}, {"href": "http://localhost/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/volume", "rel": "self"}, {"href": "http://localhost/nodes/aa4e90ed-eb9e-47f6-b986-ec18c9e5eaf5/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/c64aef7c-4911-488a-960b-91d519cecb10 [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.125377s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.047948s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.077757s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.145527s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:27.302492+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'conductor_group': 'foo', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-39eb3e49-b936-42df-8f83-77b905f02f14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-85fc188f-8b60-4a6c-b6cc-d6695e0d45e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:27.507171+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:27.507171+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e03808ec-5de9-4de9-a584-eaf89a4a3b36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo 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-efa191a8-a7c2-4934-b633-a63f08e4d06c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.104171s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.120573s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e709b6b-5944-47a7-994d-b7f200459051 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=driver_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-facf16d9-b073-423b-8ef8-cf81056c0a3b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f2554ea-384c-4b23-87d0-de0285d95850 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=instance_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eacc5aa6-cb31-446b-b537-c555e643f5c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=driver_internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-69f3a7c9-578f-4b0e-8ce1-dc557aa6db3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=clean_step {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8922ca44-1578-49ac-aead-16f96f02bba9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3cfcafd-2bf0-4eb2-a4d9-cdc6a7610bcb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e8b5da19-9644-4495-beb9-e31e6c0a8678 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-da3c0195-c817-4ade-ab15-7afe5f0cbee0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/52949728-59fc-4651-84c8-b0a16b469372 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3fd0f4dc-3fb7-4a9f-8634-5ed36a2ee993 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node history record 52949728-59fc-4651-84c8-b0a16b469372 could not be found.\", \"debuginfo\": null}"} 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-9c1bec98-83e1-475a-bb73-2904ac6d5c1c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:27.625394+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} 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-b52d989b-a306-4d4b-9f8a-f800eeeb834d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/20300928-ba4b-43ab-9826-075e996d384d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-650cb576-df81-4ff1-8728-1512f54ff5fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 20300928-ba4b-43ab-9826-075e996d384d can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'guido-van-rossum'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.056447s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.072025s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.043254s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62047d06-2dc7-416b-afa7-ecac5553ff1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "3eae0393-e0d7-41b9-a7bb-2c205c69c23a", "created_at": "2024-09-07T17:17:27.446571+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a", "rel": "self"}, {"href": "http://localhost/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/ports", "rel": "self"}, {"href": "http://localhost/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/states", "rel": "self"}, {"href": "http://localhost/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/volume", "rel": "self"}, {"href": "http://localhost/nodes/3eae0393-e0d7-41b9-a7bb-2c205c69c23a/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dcb2e7da-cacc-4571-9a6f-bfb733d10bd5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b", "created_at": "2024-09-07T17:17:27.669751+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b", "rel": "self"}, {"href": "http://localhost/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/ports", "rel": "self"}, {"href": "http://localhost/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/states", "rel": "self"}, {"href": "http://localhost/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/volume", "rel": "self"}, {"href": "http://localhost/nodes/f243dcc4-7c1c-4e8c-8dbb-d56e6f50bd2b/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/7115a637-f947-4793-bf3e-6336903f7bc3 [{'path': '/protected', 'value': 'YeahNahGood', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5c564741-be65-43dd-b842-08446e158420 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid protected: Unrecognized value 'YeahNahGood', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} PATCH: /v1/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1 [{'op': 'remove', 'path': '/retired'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.075843s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.107438s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.186489s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.073622s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.120772s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.072740s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ffde63b5-2482-46b9-b80d-30a66d394ea0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2024-09-07T17:17:27.804443+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48d6d665-2877-4e1b-b9e6-e07642f22a2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'management'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4af31e4c-9c98-402a-8ffc-97b829678871 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'states'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11756b50-cfbc-491d-befe-08cf6f06dcc1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a27fbbb3-39b3-4178-8f82-deb2e774eede X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'detail'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14408b6b-5b11-4453-ac12-58c324c64035 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'validate'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61994c0b-c651-4b60-a3fc-0822ba0f639b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/82850f22-1c36-432b-89fb-0a7606236f5c [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-11e20fdc-9a20-44c6-9e3a-a165e3656836 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /conductor. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537 [] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.098256s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.041087s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.035590s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.041956s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.142605s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8d4f1e14-9328-4d74-9d10-3fff6747d076 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1", "created_at": "2024-09-07T17:17:27.815439+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1", "rel": "self"}, {"href": "http://localhost/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/ports", "rel": "self"}, {"href": "http://localhost/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/states", "rel": "self"}, {"href": "http://localhost/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/volume", "rel": "self"}, {"href": "http://localhost/nodes/397a5d5f-fb4a-4650-bf2c-4ae39d1c65a1/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/76e6fb50-22bc-42b4-978d-f28ccd5dfcbd [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3173aa42-5719-43da-b12a-d176ab6237c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /traits. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a621c0d1-1d55-45a7-a966-fc036cc68531 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.023850+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.023850+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.152244s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.102742s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.071880s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.095247s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-3ea88273-eb90-43eb-9477-23cb4495ecf5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.104852+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.104852+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.104852+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.059911s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.057768s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1b11b168-c921-4f47-8a7f-d1b52d647e68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "c64aef7c-4911-488a-960b-91d519cecb10", "created_at": "2024-09-07T17:17:27.649188+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/c64aef7c-4911-488a-960b-91d519cecb10", "rel": "self"}, {"href": "http://localhost/nodes/c64aef7c-4911-488a-960b-91d519cecb10", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c64aef7c-4911-488a-960b-91d519cecb10/ports", "rel": "self"}, {"href": "http://localhost/nodes/c64aef7c-4911-488a-960b-91d519cecb10/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c64aef7c-4911-488a-960b-91d519cecb10/states", "rel": "self"}, {"href": "http://localhost/nodes/c64aef7c-4911-488a-960b-91d519cecb10/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c64aef7c-4911-488a-960b-91d519cecb10/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c64aef7c-4911-488a-960b-91d519cecb10/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c64aef7c-4911-488a-960b-91d519cecb10/volume", "rel": "self"}, {"href": "http://localhost/nodes/c64aef7c-4911-488a-960b-91d519cecb10/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/24860914-d144-4848-bbc2-1526cbdc487a [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2bf853ef-1686-4bcf-9bf4-efa531dfc4a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "24860914-d144-4848-bbc2-1526cbdc487a", "created_at": "2024-09-07T17:17:27.781509+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/24860914-d144-4848-bbc2-1526cbdc487a", "rel": "self"}, {"href": "http://localhost/nodes/24860914-d144-4848-bbc2-1526cbdc487a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/24860914-d144-4848-bbc2-1526cbdc487a/ports", "rel": "self"}, {"href": "http://localhost/nodes/24860914-d144-4848-bbc2-1526cbdc487a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/24860914-d144-4848-bbc2-1526cbdc487a/states", "rel": "self"}, {"href": "http://localhost/nodes/24860914-d144-4848-bbc2-1526cbdc487a/states", "rel": "bookmark"}]} PATCH: /v1/nodes/19cbc7d9-97bb-480c-91ea-4463f2e7e22e [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8d24125-ceb9-4090-84d5-c97652470185 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long\", \"debuginfo\": null}"} PATCH: /v1/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ebc98f0c-d64b-4701-b93a-66a18b4b4454 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "22b6fdf9-630c-46a0-aa0f-de933116551e", "created_at": "2024-09-07T17:17:28.123748+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": true, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e", "rel": "self"}, {"href": "http://localhost/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/ports", "rel": "self"}, {"href": "http://localhost/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/states", "rel": "self"}, {"href": "http://localhost/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/volume", "rel": "self"}, {"href": "http://localhost/nodes/22b6fdf9-630c-46a0-aa0f-de933116551e/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.193146s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.117354s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54dfd66a-9775-485b-a204-f00950a38beb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'foo': 123}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-45f9900b-84f6-4422-bcbc-be75739e2723 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.300096+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.300096+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'foo': 123}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dff63fa5-51a4-4ab8-bcf7-f861397953b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "077c1610-9abf-4d22-a1cf-310e4cc59537", "created_at": "2024-09-07T17:17:28.016190+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537", "rel": "self"}, {"href": "http://localhost/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/ports", "rel": "self"}, {"href": "http://localhost/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/states", "rel": "self"}, {"href": "http://localhost/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/volume", "rel": "self"}, {"href": "http://localhost/nodes/077c1610-9abf-4d22-a1cf-310e4cc59537/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'node-0'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b72d02b6-ca27-4124-ae8d-a0d9b7aa7e98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2bdd13c-1da3-4b5d-bd0c-e7acf9781bf2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eecd53ca-6d10-47e1-9bc9-d7456aee332a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} PATCH: /v1/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471 [{'path': '/storage_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f990c8df-5855-4aa6-9770-345caeaa65c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b45c3552-d6d5-47c2-97df-e068e5fcb471", "created_at": "2024-09-07T17:17:28.204447+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471", "rel": "self"}, {"href": "http://localhost/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/ports", "rel": "self"}, {"href": "http://localhost/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/states", "rel": "self"}, {"href": "http://localhost/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/volume", "rel": "self"}, {"href": "http://localhost/nodes/b45c3552-d6d5-47c2-97df-e068e5fcb471/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.077838s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.111173s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.084738s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.085713s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.151497s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.070963s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12cde181-5f4c-4ccb-b10b-48fe447bf26c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1d0c3054-551c-40a4-b0cd-0bd70ff142ca", "created_at": "2024-09-07T17:17:28.271940+00:00", "updated_at": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca", "rel": "self"}, {"href": "http://localhost/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/ports", "rel": "self"}, {"href": "http://localhost/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/states", "rel": "self"}, {"href": "http://localhost/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/volume", "rel": "self"}, {"href": "http://localhost/nodes/1d0c3054-551c-40a4-b0cd-0bd70ff142ca/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/20f31da1-ccef-473a-af02-d96f66353573 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a05596ef-5fbe-445d-9845-f2902479b55d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node with description exceeding 4096 characters\", \"debuginfo\": null}"} PATCH: /v1/nodes/df0546f0-8f8d-4adf-a5ca-b8fb044ae573 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-84cc56e6-7ada-4ab3-8061-99abdfdcf2b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.377673+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "flat", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "resource_class": "class2", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.377673+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'class2', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0569233-6e54-49e3-81f9-faf9024f8c1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.bios' entrypoint: foo. Valid interfaces are ['fake', 'no-bios'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.060107s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.084544s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.078332s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.063215s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-e895d503-4772-499e-96bc-29bb5114f062 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.522695+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.522695+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'project', 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.087069s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a01d1e6-1ac4-4e54-aec9-bea09cde99f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "df0546f0-8f8d-4adf-a5ca-b8fb044ae573", "created_at": "2024-09-07T17:17:28.482943+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "deploy failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/df0546f0-8f8d-4adf-a5ca-b8fb044ae573", "rel": "self"}, {"href": "http://localhost/nodes/df0546f0-8f8d-4adf-a5ca-b8fb044ae573", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/df0546f0-8f8d-4adf-a5ca-b8fb044ae573/ports", "rel": "self"}, {"href": "http://localhost/nodes/df0546f0-8f8d-4adf-a5ca-b8fb044ae573/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/6a3ca85f-19a1-4f08-912b-a18f4003988e [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a7eae251-f819-4261-8078-3db04a1688f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "6a3ca85f-19a1-4f08-912b-a18f4003988e", "created_at": "2024-09-07T17:17:28.511970+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/6a3ca85f-19a1-4f08-912b-a18f4003988e", "rel": "self"}, {"href": "http://localhost/nodes/6a3ca85f-19a1-4f08-912b-a18f4003988e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6a3ca85f-19a1-4f08-912b-a18f4003988e/ports", "rel": "self"}, {"href": "http://localhost/nodes/6a3ca85f-19a1-4f08-912b-a18f4003988e/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/305d6e9f-8343-489f-8e9c-b2f279e593ea [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-efb5e789-8564-4ca6-8789-2f88aeb23d11 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "305d6e9f-8343-489f-8e9c-b2f279e593ea", "created_at": "2024-09-07T17:17:28.530671+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspect failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/305d6e9f-8343-489f-8e9c-b2f279e593ea", "rel": "self"}, {"href": "http://localhost/nodes/305d6e9f-8343-489f-8e9c-b2f279e593ea", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/305d6e9f-8343-489f-8e9c-b2f279e593ea/ports", "rel": "self"}, {"href": "http://localhost/nodes/305d6e9f-8343-489f-8e9c-b2f279e593ea/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/ce94a001-cf51-4aee-8a99-da8de60dd53c [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec31bc18-fbb1-4964-b103-6154f31d9fb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "ce94a001-cf51-4aee-8a99-da8de60dd53c", "created_at": "2024-09-07T17:17:28.554322+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "inspecting", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/ce94a001-cf51-4aee-8a99-da8de60dd53c", "rel": "self"}, {"href": "http://localhost/nodes/ce94a001-cf51-4aee-8a99-da8de60dd53c", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ce94a001-cf51-4aee-8a99-da8de60dd53c/ports", "rel": "self"}, {"href": "http://localhost/nodes/ce94a001-cf51-4aee-8a99-da8de60dd53c/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/91d1ce86-94cd-4276-8f8f-dc3401114c48 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84b29f64-0f29-4ab9-95e3-9fc7dd335ad5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "91d1ce86-94cd-4276-8f8f-dc3401114c48", "created_at": "2024-09-07T17:17:28.587239+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "clean failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/91d1ce86-94cd-4276-8f8f-dc3401114c48", "rel": "self"}, {"href": "http://localhost/nodes/91d1ce86-94cd-4276-8f8f-dc3401114c48", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/91d1ce86-94cd-4276-8f8f-dc3401114c48/ports", "rel": "self"}, {"href": "http://localhost/nodes/91d1ce86-94cd-4276-8f8f-dc3401114c48/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/01faf64b-8e3a-40de-9432-115abd55ba3e [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.077048s] ... ok PATCH: /v1/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22b7bcc9-e99e-4b0e-b851-b537926b4a7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "df2085b0-90c4-4d44-99db-4e73c3c961bd", "created_at": "2024-09-07T17:17:28.287048+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd", "rel": "self"}, {"href": "http://localhost/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/ports", "rel": "self"}, {"href": "http://localhost/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/states", "rel": "self"}, {"href": "http://localhost/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/volume", "rel": "self"}, {"href": "http://localhost/nodes/df2085b0-90c4-4d44-99db-4e73c3c961bd/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d4bc53b-1dcf-42e9-974d-31836502c429 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "afb002fe-5d5f-405a-b699-1411c65a10a5", "created_at": "2024-09-07T17:17:28.452791+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5", "rel": "self"}, {"href": "http://localhost/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/ports", "rel": "self"}, {"href": "http://localhost/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/states", "rel": "self"}, {"href": "http://localhost/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/volume", "rel": "self"}, {"href": "http://localhost/nodes/afb002fe-5d5f-405a-b699-1411c65a10a5/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/7fbff430-9887-4217-9188-888a8bda46a5 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9a48dc26-5889-4f79-98fe-530764df1512 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': None} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.171706s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-92e24836-a3c6-47f4-94cf-8471c71020a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.609003+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.609003+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.058794s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.059937s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.388684s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.077124s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.078854s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-00328e7a-73f0-4623-a34f-ffaf6ff8f98e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.668115+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.668115+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': 'cowsay', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21f302f0-02c6-40a7-aaf3-40230a55b98b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.067179s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.041217s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.063657s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-281797c8-6678-480f-b35c-d84b11c9c702 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "01faf64b-8e3a-40de-9432-115abd55ba3e", "created_at": "2024-09-07T17:17:28.616102+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "error", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/01faf64b-8e3a-40de-9432-115abd55ba3e", "rel": "self"}, {"href": "http://localhost/nodes/01faf64b-8e3a-40de-9432-115abd55ba3e", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/01faf64b-8e3a-40de-9432-115abd55ba3e/ports", "rel": "self"}, {"href": "http://localhost/nodes/01faf64b-8e3a-40de-9432-115abd55ba3e/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/90986332-574c-4831-9fdf-8df2599f4dda [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6b4f71c-6acc-4555-b2d8-b673d585575b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "90986332-574c-4831-9fdf-8df2599f4dda", "created_at": "2024-09-07T17:17:28.647661+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "verifying", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/90986332-574c-4831-9fdf-8df2599f4dda", "rel": "self"}, {"href": "http://localhost/nodes/90986332-574c-4831-9fdf-8df2599f4dda", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/90986332-574c-4831-9fdf-8df2599f4dda/ports", "rel": "self"}, {"href": "http://localhost/nodes/90986332-574c-4831-9fdf-8df2599f4dda/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/7c45a891-9a54-4592-b9a2-ca3bf7ab8948 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e160aca7-abe2-4d54-9261-a5af536fb9f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7c45a891-9a54-4592-b9a2-ca3bf7ab8948", "created_at": "2024-09-07T17:17:28.688094+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "adopt failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/7c45a891-9a54-4592-b9a2-ca3bf7ab8948", "rel": "self"}, {"href": "http://localhost/nodes/7c45a891-9a54-4592-b9a2-ca3bf7ab8948", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7c45a891-9a54-4592-b9a2-ca3bf7ab8948/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c45a891-9a54-4592-b9a2-ca3bf7ab8948/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/e1d8981f-32ca-4649-b550-8836a33cf324 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-982b2cfb-9ef9-40bf-ab85-f2b833525001 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e1d8981f-32ca-4649-b550-8836a33cf324", "created_at": "2024-09-07T17:17:28.764876+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "rescue failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/e1d8981f-32ca-4649-b550-8836a33cf324", "rel": "self"}, {"href": "http://localhost/nodes/e1d8981f-32ca-4649-b550-8836a33cf324", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e1d8981f-32ca-4649-b550-8836a33cf324/ports", "rel": "self"}, {"href": "http://localhost/nodes/e1d8981f-32ca-4649-b550-8836a33cf324/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/b9368930-75cd-4db7-95f2-5c4596cb63be [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3ed2e455-ca24-4e8e-a12c-ee9f59b20927 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "b9368930-75cd-4db7-95f2-5c4596cb63be", "created_at": "2024-09-07T17:17:28.808545+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "unrescue failed", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": "available", "links": [{"href": "http://localhost/v1/nodes/b9368930-75cd-4db7-95f2-5c4596cb63be", "rel": "self"}, {"href": "http://localhost/nodes/b9368930-75cd-4db7-95f2-5c4596cb63be", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b9368930-75cd-4db7-95f2-5c4596cb63be/ports", "rel": "self"}, {"href": "http://localhost/nodes/b9368930-75cd-4db7-95f2-5c4596cb63be/ports", "rel": "bookmark"}]} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5709f619-697b-45d5-acd9-153206eec4e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-150ae3f0-7b03-4ed1-9526-45a2eea6523f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.108734s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.080010s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-52246aae-dcb8-4ca1-b847-5d74c52dfa44 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.789369+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.789369+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': 'foo', 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-087a0d3a-5690-4838-8e52-300d21134c33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.100405s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.064849s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.118242s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.048059s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d67267d2-287d-460c-a84b-61947b535884 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ee2a141-3671-477e-80b9-e4ba4dec0e04 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98377c33-d5e2-422a-b38e-48ea9565f880 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'bios'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56b59b21-98cb-4e52-ba20-509921c284ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-52231ce2-621d-47ec-9e93-47317a06d15d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.70 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-989b069e-a475-40bf-9710-70714e5b4283 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-0c69cc4d-8c16-47fe-a8ac-c500af221d24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-1b87497e-cbad-4c08-b63d-e2be7f49d45d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1d7ba88-d7d8-4db3-974d-e7e5f8bf618d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-407fabf6-7561-4256-a179-ec60efd67a5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-01468104-494c-41c3-9a15-c028418949fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02c55bce-fb18-4c92-ace8-7441824b6d5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f42bfab8-6399-4030-a855-1382afcd4ecb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f1c3caa-14d9-4763-a1e8-64003f66c625 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b5070a77-9f98-4964-b82b-73d35db5edfc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7a76b95d-67fe-42b6-a1ca-76f81327523c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.077734s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.069988s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.091454s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.096097s] ... ok PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7ee385eb-7535-4870-bb7c-394bc9146184 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b43a38b0-b487-4209-b07e-45769d44ade1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-389c526a-9e20-45b8-9114-b44a7a049615 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4306a463-2ef9-4ca3-b829-fb05d4b294a1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6666b34f-809d-47e0-90e4-c5183c1bf182 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/75b2cd94-62f9-4f10-a161-1948c51cc2d1 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-86d312c1-d284-4324-8991-826b3557625f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d [{'path': '/network_data', 'value': {'cat': 'meow'}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff8493ca-552e-4c22-8dac-0b56f32929e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "fbb20960-b83b-4512-9d65-071c02f0a13d", "created_at": "2024-09-07T17:17:29.021582+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d", "rel": "self"}, {"href": "http://localhost/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/ports", "rel": "self"}, {"href": "http://localhost/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/states", "rel": "self"}, {"href": "http://localhost/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/volume", "rel": "self"}, {"href": "http://localhost/nodes/fbb20960-b83b-4512-9d65-071c02f0a13d/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.078700s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-e7861d3e-ac1a-4b68-8ec0-e4f0014370a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "chassis_uuid": 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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': 'e7ea19e5-11c9-40a1-9b56-7b7173e7fcef', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef Openstack-Request-Id: req-265b65ee-c77f-4362-9813-081cee23f357 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e7ea19e5-11c9-40a1-9b56-7b7173e7fcef", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef", "rel": "self"}, {"href": "http://localhost/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef/ports", "rel": "self"}, {"href": "http://localhost/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef/ports", "rel": "bookmark"}]} GET: /v1/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef {} GOT:{'uuid': 'e7ea19e5-11c9-40a1-9b56-7b7173e7fcef', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef', 'rel': 'self'}, {'href': 'http://localhost/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e7ea19e5-11c9-40a1-9b56-7b7173e7fcef/ports', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-78df4676-ae21-4f6b-90c7-88fa56be2710 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} POST: /v1/nodes {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f3a18b1f-c3ea-4a82-8e4e-784b391dafc1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.105703s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.062199s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.092205s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.074247s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.210405s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.044605s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.091058s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.084583s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.072973s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-f0dbf40d-a872-429f-82d5-df72d7e98478 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:29.036525+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "chassis_uuid": 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"}]} POST: /v1/nodes {'name': 'maintenance', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8dc12cd2-6654-440c-a883-cb5d0fffded0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'management', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8998f4fb-0480-48d4-99aa-2d269adc73a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'states', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae3f8c75-fd3d-48c9-be75-59ee083a3a49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'vendor_passthru', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df6772dc-f895-4939-bffb-cb4accf49b18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'detail', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a1c38da-fed9-46ae-91f6-ea67884f815b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'validate', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-13edf978-3421-48a8-8ac2-ce13a3d2cd3b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.079994s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8db2990e-74e2-4e3a-b921-ce01148dd5ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.933043+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.933043+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-6c4b81a3-e91a-4d3d-ab60-226198db5558 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:28.998634+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:28.998634+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'flat', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': 'class1', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}], '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'}]} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e1252ec4-adb6-4a10-aa63-3daf386a7e2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Openstack-Request-Id: req-565ccd2c-60e4-465a-820c-42f1df73f758 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{'foo': 'bar'} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7b145e38-33f6-48c1-a884-c552e5637aed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.033254s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.041546s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.085432s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.050517s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.037704s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-008b96cd-506f-4f4c-9ae9-9d49333dddb5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "a2f59ef3-128d-46d1-8e0d-ab2505b76bfc", "created_at": "2024-09-07T17:17:29.097955+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc", "rel": "self"}, {"href": "http://localhost/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/ports", "rel": "self"}, {"href": "http://localhost/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/states", "rel": "self"}, {"href": "http://localhost/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/volume", "rel": "self"}, {"href": "http://localhost/nodes/a2f59ef3-128d-46d1-8e0d-ab2505b76bfc/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/05ab9b69-5ff5-4b98-acf5-4b835ed5dade [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c1d2bda0-bd88-4b85-ad8f-f186ab78dd13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/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-f5997864-d309-4e1d-a5da-3021d10ff130 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:29.238976+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} 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-3a4b65e6-caed-4f8f-84ae-35278a5e1095 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:29.313904+00:00", "updated_at": "2013-12-03T06:20:41.184720+00:00", "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": "node-57.1", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} PATCH: /v1/nodes/960f6511-f0fc-4569-875f-5900ebb84f07 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.105220s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.151107s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.107441s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.058101s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f33c689b-b5fb-4c69-ac96-61fd71e4cf14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '550bba2f-1f4f-46f4-be73-f4d7d0977ceb', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb Openstack-Request-Id: req-0cad934c-415d-4c14-8fc5-be7524df4a47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "550bba2f-1f4f-46f4-be73-f4d7d0977ceb", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb", "rel": "self"}, {"href": "http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/ports", "rel": "self"}, {"href": "http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/states", "rel": "self"}, {"href": "http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/volume", "rel": "self"}, {"href": "http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/volume", "rel": "bookmark"}]} GET: /v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb {} GOT:{'uuid': '550bba2f-1f4f-46f4-be73-f4d7d0977ceb', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb', 'rel': 'self'}, {'href': 'http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/550bba2f-1f4f-46f4-be73-f4d7d0977ceb/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '74ac7f18-e20b-4f03-88c0-8fa26defbbd5', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5 Openstack-Request-Id: req-71388db1-63d5-4ad4-90e1-5027aaee7067 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "74ac7f18-e20b-4f03-88c0-8fa26defbbd5", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5", "rel": "self"}, {"href": "http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/ports", "rel": "self"}, {"href": "http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/states", "rel": "self"}, {"href": "http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/volume", "rel": "self"}, {"href": "http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/volume", "rel": "bookmark"}]} GET: /v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5 {} GOT:{'uuid': '74ac7f18-e20b-4f03-88c0-8fa26defbbd5', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5', 'rel': 'self'}, {'href': 'http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/74ac7f18-e20b-4f03-88c0-8fa26defbbd5/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '7f2bf315-72d9-43bb-9d68-4145c1b2f733', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733 Openstack-Request-Id: req-73a934a8-f0b9-4f7e-bac2-de4aa2a03979 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "7f2bf315-72d9-43bb-9d68-4145c1b2f733", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733", "rel": "self"}, {"href": "http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/states", "rel": "self"}, {"href": "http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/volume", "rel": "self"}, {"href": "http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/volume", "rel": "bookmark"}]} GET: /v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733 {} GOT:{'uuid': '7f2bf315-72d9-43bb-9d68-4145c1b2f733', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f2bf315-72d9-43bb-9d68-4145c1b2f733/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '569872d5-d262-4d4f-84df-b8e9cc2f1bec', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec Openstack-Request-Id: req-9e303467-8d7a-4fa7-8ed7-74bffe07d008 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "569872d5-d262-4d4f-84df-b8e9cc2f1bec", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec", "rel": "self"}, {"href": "http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/ports", "rel": "self"}, {"href": "http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/states", "rel": "self"}, {"href": "http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/volume", "rel": "self"}, {"href": "http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/volume", "rel": "bookmark"}]} GET: /v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec {} GOT:{'uuid': '569872d5-d262-4d4f-84df-b8e9cc2f1bec', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec', 'rel': 'self'}, {'href': 'http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/569872d5-d262-4d4f-84df-b8e9cc2f1bec/volume', 'rel': 'bookmark'}]} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.084277s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.227143s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.074195s] ... ok POST: /v1/nodes {'uuid': '163209ed-4edc-4414-aae1-0654fa8aa644', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644 Openstack-Request-Id: req-5799bb15-f51b-484e-b8c9-685593d9a1f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "163209ed-4edc-4414-aae1-0654fa8aa644", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644", "rel": "self"}, {"href": "http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/ports", "rel": "self"}, {"href": "http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/states", "rel": "self"}, {"href": "http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/volume", "rel": "self"}, {"href": "http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/volume", "rel": "bookmark"}]} GET: /v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644 {} GOT:{'uuid': '163209ed-4edc-4414-aae1-0654fa8aa644', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644', 'rel': 'self'}, {'href': 'http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/163209ed-4edc-4414-aae1-0654fa8aa644/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '7d5c3b16-158c-4e67-9e96-5040f0566ca3', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.058211s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.079783s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.089317s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.100138s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.109309s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3 Openstack-Request-Id: req-ed414fe6-109d-4a94-b243-c2566ebeb043 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "7d5c3b16-158c-4e67-9e96-5040f0566ca3", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3", "rel": "self"}, {"href": "http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/states", "rel": "self"}, {"href": "http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/volume", "rel": "bookmark"}]} GET: /v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3 {} GOT:{'uuid': '7d5c3b16-158c-4e67-9e96-5040f0566ca3', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d5c3b16-158c-4e67-9e96-5040f0566ca3/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6 Openstack-Request-Id: req-05f149f8-8214-4230-a64a-193b6d969828 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6", "rel": "self"}, {"href": "http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/ports", "rel": "self"}, {"href": "http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/states", "rel": "self"}, {"href": "http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/volume", "rel": "self"}, {"href": "http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/volume", "rel": "bookmark"}]} GET: /v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6 {} GOT:{'uuid': '35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6', 'rel': 'self'}, {'href': 'http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/35ee53ff-ac5b-48d8-a1fe-4b1cf05b29b6/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '231f4333-0c48-445a-97ce-015b6c29aea5', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5 Openstack-Request-Id: req-35c17b58-2ec2-4700-af70-eb3a7203e9da X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "231f4333-0c48-445a-97ce-015b6c29aea5", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5", "rel": "self"}, {"href": "http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/ports", "rel": "self"}, {"href": "http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/states", "rel": "self"}, {"href": "http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/volume", "rel": "self"}, {"href": "http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/volume", "rel": "bookmark"}]} GET: /v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5 {} GOT:{'uuid': '231f4333-0c48-445a-97ce-015b6c29aea5', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5', 'rel': 'self'}, {'href': 'http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/231f4333-0c48-445a-97ce-015b6c29aea5/volume', 'rel': 'bookmark'}]} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b20c8e3a-39c3-4c87-8796-a2903b9f124f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "960f6511-f0fc-4569-875f-5900ebb84f07", "created_at": "2024-09-07T17:17:29.432163+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/960f6511-f0fc-4569-875f-5900ebb84f07", "rel": "self"}, {"href": "http://localhost/nodes/960f6511-f0fc-4569-875f-5900ebb84f07", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/ports", "rel": "self"}, {"href": "http://localhost/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/states", "rel": "self"}, {"href": "http://localhost/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/volume", "rel": "self"}, {"href": "http://localhost/nodes/960f6511-f0fc-4569-875f-5900ebb84f07/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/840d7f64-9a81-4228-ba6b-ca1af91707e7 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-46722346-251d-4186-8bbf-0debe5fd8cb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"840d7f64-9a81-4228-ba6b-ca1af91707e7\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} PATCH: /v1/nodes/58ae0312-f1f6-424a-acb6-c842362e226e [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-899f7388-2dae-42a8-8f7c-ddf552e315bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "58ae0312-f1f6-424a-acb6-c842362e226e", "created_at": "2024-09-07T17:17:29.609587+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/58ae0312-f1f6-424a-acb6-c842362e226e", "rel": "self"}, {"href": "http://localhost/nodes/58ae0312-f1f6-424a-acb6-c842362e226e", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/ports", "rel": "self"}, {"href": "http://localhost/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/states", "rel": "self"}, {"href": "http://localhost/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/volume", "rel": "self"}, {"href": "http://localhost/nodes/58ae0312-f1f6-424a-acb6-c842362e226e/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/c46760f3-682e-43d1-8e40-9cc115c0ab14 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7689d027-e959-43fe-8393-feb56a048a34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"c46760f3-682e-43d1-8e40-9cc115c0ab14\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74 [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.080300s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.068162s] ... ok POST: /v1/nodes {'uuid': '21089824-1e1e-4c7a-b9c0-8d446dbcd91d', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d Openstack-Request-Id: req-3098d8ac-e7c5-4b0b-8e89-f79029004238 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "21089824-1e1e-4c7a-b9c0-8d446dbcd91d", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d", "rel": "self"}, {"href": "http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/ports", "rel": "self"}, {"href": "http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/states", "rel": "self"}, {"href": "http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/volume", "rel": "self"}, {"href": "http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/volume", "rel": "bookmark"}]} GET: /v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d {} GOT:{'uuid': '21089824-1e1e-4c7a-b9c0-8d446dbcd91d', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d', 'rel': 'self'}, {'href': 'http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/21089824-1e1e-4c7a-b9c0-8d446dbcd91d/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '7bc6a065-5717-4fc1-9eb8-20c4bec9df26', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'rescue_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.160145s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.074841s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.063198s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26 Openstack-Request-Id: req-15ebc3f5-263a-4ff9-a5e6-53ebd01d8cec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "7bc6a065-5717-4fc1-9eb8-20c4bec9df26", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26", "rel": "self"}, {"href": "http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/ports", "rel": "self"}, {"href": "http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/states", "rel": "self"}, {"href": "http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/volume", "rel": "self"}, {"href": "http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/volume", "rel": "bookmark"}]} GET: /v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26 {} GOT:{'uuid': '7bc6a065-5717-4fc1-9eb8-20c4bec9df26', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc6a065-5717-4fc1-9eb8-20c4bec9df26/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '309ca51a-146e-4443-ad3e-25a128e7aa47', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'noop', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47 Openstack-Request-Id: req-5dfd43f5-bc65-4504-91c8-3cad706efffb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "309ca51a-146e-4443-ad3e-25a128e7aa47", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47", "rel": "self"}, {"href": "http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/ports", "rel": "self"}, {"href": "http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/states", "rel": "self"}, {"href": "http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/volume", "rel": "self"}, {"href": "http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/volume", "rel": "bookmark"}]} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.061674s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.067790s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [0.693647s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.035683s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.089029s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c534056b-6257-4037-ab47-647303105c28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c778c562-94fc-4d1a-9078-ea26a0e9a7da X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e38580ea-7b31-4b83-b87d-e57895a494ed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3e413f3b-ec54-4c2d-8961-49aa0e52e326 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.73 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-af1691b5-4449-40ac-8263-a83d54d74d5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': ' '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76d556ab-4b7c-4055-bbc6-460dd394c77d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-3a83f0b5-5575-4d3b-b201-bb44dd75001c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8a6a7f30-25a1-4ad5-aca0-647563038b96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-078a932b-d087-4ee7-989a-538b3aa7d653 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c42e50f7-6e98-458f-a3dc-4f5435fa44a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-50462dad-daeb-42c5-85e7-cc7b95a6194c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': 'foo'}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8439e22d-8ac1-4e4c-a5b1-e6a15e1cf13f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-84d4ee36-13f8-476d-863f-04960bcb97c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-845ff440-41ee-4e08-83c8-79b39d47cd88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 2} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-815a3c4f-3274-4a3d-825b-c3cc113dfdc5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '2', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': True} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9d7bd17d-306e-411a-af7d-c7675d231916 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'invalid-value'} {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.049274s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.036806s] ... ok GET: /v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47 {} GOT:{'uuid': '309ca51a-146e-4443-ad3e-25a128e7aa47', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47', 'rel': 'self'}, {'href': 'http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/309ca51a-146e-4443-ad3e-25a128e7aa47/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '4d602dd4-36fe-4f59-9aa7-f440d6b19f8e', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e Openstack-Request-Id: req-6184dd8c-4db3-4227-b0f0-d548d0760bf0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "4d602dd4-36fe-4f59-9aa7-f440d6b19f8e", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "bios_interface": "fake", "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e", "rel": "self"}, {"href": "http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/ports", "rel": "self"}, {"href": "http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/states", "rel": "self"}, {"href": "http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/volume", "rel": "self"}, {"href": "http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/volume", "rel": "bookmark"}]} GET: /v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e {} GOT:{'uuid': '4d602dd4-36fe-4f59-9aa7-f440d6b19f8e', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d602dd4-36fe-4f59-9aa7-f440d6b19f8e/volume', 'rel': 'bookmark'}]} {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.082399s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.049136s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.074788s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.035108s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a9cc7966-9fee-471c-8a71-4cbcb58cfd5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "4ce2673d-abb1-4163-b331-f85025cb3e74", "created_at": "2024-09-07T17:17:29.755102+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": true, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74", "rel": "self"}, {"href": "http://localhost/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/ports", "rel": "self"}, {"href": "http://localhost/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/states", "rel": "self"}, {"href": "http://localhost/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/volume", "rel": "self"}, {"href": "http://localhost/nodes/4ce2673d-abb1-4163-b331-f85025cb3e74/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2 [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ee5a9ca-d789-4729-b4b6-af1ac924a216 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "52d8554e-3c11-444b-9f2d-324344f7feb2", "created_at": "2024-09-07T17:17:29.872495+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "active", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2", "rel": "self"}, {"href": "http://localhost/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/ports", "rel": "self"}, {"href": "http://localhost/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/states", "rel": "self"}, {"href": "http://localhost/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/volume", "rel": "self"}, {"href": "http://localhost/nodes/52d8554e-3c11-444b-9f2d-324344f7feb2/volume", "rel": "bookmark"}]} PATCH: /v1/nodes/a9a1ef53-6937-49a3-a334-c2b523ea8848 [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cb7a333b-cdbd-4481-800f-7981c287d5dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-095ec0b4-d715-4e8b-b7f9-4540e735c110 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected)\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.156670s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.250940s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.083890s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.074642s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f92ebf57-4df4-4e2b-935e-ff0744eb32c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c764ccfd-bd07-4e73-b26a-41cede9f9ff3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a3683a73-f20e-4e02-bb42-e3cc6430d174 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b8bf1a62-2d25-4c51-ba62-49bb215f206b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-89197c96-72d3-4c41-9f84-4124732d1e89 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76d38238-7cd4-48b9-83cb-2c78c9f312e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2e35dc31-b6eb-4579-911b-e5d1723d5941 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-689e3d13-afa9-4c03-b31c-2e724d9f8fdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.064459s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.071779s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-d51326cf-668d-4842-8678-3155dec05e80 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-377c15d9-b38d-4c39-be07-657316a62e67 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:30.318534+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.155328s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.030595s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.079764s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.038639s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.027319s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.092442s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.363720s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.040319s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.054012s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:30.318534+00:00', 'updated_at': None, 'automated_clean': True, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-975160f8-2c43-4067-b5df-581ef69bae44 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7de8782b-9888-4465-be03-e263ce7c0df3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:30.542806+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": "useful stuff", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.104982s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.103379s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a03f4f8-4656-40a0-b2d0-66df8eeebc6d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d7402de-dcaa-4d82-83e9-355c306cb440 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-232b2f8d-5172-429b-9f05-dd1b6656fd19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'bios'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-47e4a34c-d67f-44c6-93bc-ec50261a2884 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-12251906-08be-40ff-b098-f88e36afd2f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-beb65bdf-5cd9-46cd-b375-ec57b301256a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"bad\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-059ae282-8f19-4c73-8803-4bf561601f3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-9c347d70-42e5-4ec2-8a0e-ff4491d40aba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6624719a-04f9-4e90-8357-5a594fe62ae1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-730eb07a-6e6c-429c-ac7d-6150f0f84e37 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7470831c-7865-4ccf-8495-facb644e803b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fdf3bd75-ae78-49b1-8609-caddbc8f49f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-cf34ec9d-b187-4849-a8b1-32a42378a7ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e3260372-c4d7-4b06-92be-c4c48cdc8fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-94f13a5a-08ea-4e74-aa7d-4ac34dc8e96d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-de6a5060-3b2d-4942-bb67-f0f20fe6b4ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ef256325-c9dc-412b-a6f7-c394ca68d481 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-852802d3-3fa5-4712-88ec-b6e5700c347a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.083427s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.041023s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.104405s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.041179s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.037338s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.060395s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.068257s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:30.542806+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': 'fake', 'boot_interface': 'fake', 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'deploy_step': {}, 'description': 'useful stuff', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_data': {}, 'network_interface': 'flat', 'owner': None, 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'rescue_interface': 'fake', 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': 'noop', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': None, 'allocation_uuid': None, '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-23b107af-7b72-4d03-a66e-b4e9fb71a647 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "neutron", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'neutron', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.087679s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.057544s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.067966s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.035974s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.275262s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.047138s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.032038s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.053050s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.032912s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.052381s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.051165s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.072604s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-ff9a31b7-b31a-4c70-8111-bd0aa4f90a5f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:30.339639+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:30.339639+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-6287c517-c08a-4509-b6ce-aebfeb54badc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:30.403355+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_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"}], "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"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-09-07T17:17:30.403355+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}]} POST: /v1/nodes/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-424e924f-cf56-4284-9ec5-66ab7132735d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7e887d21-bc19-4d25-bfd0-27114ebdb50e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-311a2e38-2e50-4770-80bd-5981edadbaed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-698740d6-5a4c-4d87-a433-b06121a3a766 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.049437s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.057506s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.062366s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.059337s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.073562s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-f625596d-b7d1-4c69-ad20-bf13c4d76d7b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], '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'}], '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf3c9187-c76f-40de-8273-ebe8800d0004 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-257edb6d-3a0b-4a45-a981-fb278a590716 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['fake', 'noop'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'protected': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f0656ebd-8ad5-4c9c-b5aa-dc9f499872d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected)\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.041940s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.034618s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.014398s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.101518s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.080531s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.015226s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.079720s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.073520s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.081622s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.047343s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.227265s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.081565s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.077445s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.027370s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.038049s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.033045s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.029565s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.039808s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.060388s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.049808s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.096842s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.094898s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.038106s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.068545s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c59666e8-96f4-41a7-b115-0a26e16b4dc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid enabled: Unrecognized value 'invalid-value', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5230db8f-9647-49fe-890e-f02eaa343325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: enabled\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on {} GOT:Response: 204 No Content Openstack-Request-Id: req-498b6f37-f2af-4288-b995-9ca8875eabac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} GOT:Response: 204 No Content Openstack-Request-Id: req-bd1754c4-e58a-4172-aef2-c90f28e979c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 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-d998e6ff-7399-4dbe-9591-3c55f465b3c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dedb7385-650b-413c-b77a-d9a099863578 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0111b864-c16c-4232-969d-930894263be7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-01f7868a-5af3-4372-90b1-db2b37125ac3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7c90600a-2920-43e8-8e76-2ba634ba94c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3f89d40e-1fd5-4f4c-bad4-2b51e4837556 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9389a9a3-d5e6-45b0-83c2-bf05ee330b80 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-5101c67d-e7fe-49f8-8133-f0b0b864dd1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-438f8661-aae7-4c43-a04f-671dd083e489 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} GET: /v1/ports {} GOT:{'ports': [{'uuid': '9c9ce817-bd33-44b1-8c75-ad797bc542f3', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/9c9ce817-bd33-44b1-8c75-ad797bc542f3', 'rel': 'self'}, {'href': 'http://localhost/ports/9c9ce817-bd33-44b1-8c75-ad797bc542f3', 'rel': 'bookmark'}]}, {'uuid': 'a605f975-2596-4c95-8e35-c2b55ac8c29a', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/a605f975-2596-4c95-8e35-c2b55ac8c29a', 'rel': 'self'}, {'href': 'http://localhost/ports/a605f975-2596-4c95-8e35-c2b55ac8c29a', 'rel': 'bookmark'}]}, {'uuid': '71d0441b-3dbc-4e2d-ba17-20cfc0f86e0d', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/71d0441b-3dbc-4e2d-ba17-20cfc0f86e0d', 'rel': 'self'}, {'href': 'http://localhost/ports/71d0441b-3dbc-4e2d-ba17-20cfc0f86e0d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=71d0441b-3dbc-4e2d-ba17-20cfc0f86e0d'} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.220103+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': True, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'physical_network': 'physnet1', 'pxe_enabled': False, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?node=test-node {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.264869+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/ports {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.041488s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.033202s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.047671s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.033680s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.100739s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.069313s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.054084s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.068306s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.032534s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.055577s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.030469s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.067903s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.033836s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.033587s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.032805s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.070149s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.103844s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.087855s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-02fdf440-b8bc-4927-a21e-6a8c07dfae5a X-Openstack-Ironic-Api-Maximum-Version: 1.78 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': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-afeea586-e268-4064-8697-11c7465ad0ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.69 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"disable_ramdisk is not acceptable in this API version\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-030c9baf-1a80-4854-beb6-f7a2a3e0d5cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-ac3461a2-e1d1-4ca9-b2ea-100414e18e06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-985580d6-aa3d-4a8f-9fa5-941f35f8d949 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3642e3a3-9422-4dba-9568-a65382d51f4c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bc840762-4ab6-40a9-8afa-fe74eeaf018c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a9214d9a-1623-4c2f-87ae-334c3b739728 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b0804881-252e-4224-88d7-1b7d205efb96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-287122b2-ba09-4dd0-b083-f73b0e7694cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-98d3bf31-712b-44ec-bd78-7c46a4a2fbb8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8f9dc5ef-625b-4c96-a507-f0331aa08801 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6485d67e-ad0d-4b66-878b-6a889648d02c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-807124e0-e75e-4473-b4ca-a7983ed9fb47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ccbf2252-b3ac-4ef8-89a6-11e164f84705 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide', 'clean_steps': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ab72495-0b05-4469-b91a-bcb1d927c37b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , for clean_steps: foo\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-0a037581-bf51-4385-883c-37d0ec8e4195 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.034118s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.098599s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-555ab3eb-a7c2-4dc0-8394-c6b096bef2c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-f079d9f6-2b52-4dc6-abfb-9d634e5a0b14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 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': 'active', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}, 'vendor_data': {'foo': 'bar'}}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-96f67c24-c2c9-45c4-892a-fcf9e1ac84fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '{"meta_data": '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4373993f-8515-4d9e-ad8d-ccf3acc5f1ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid configdrive format: it is neither a JSON, nor a URL, nor a base64 string\", \"debuginfo\": null}"} 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-ebbe37ca-6d37-4dfc-890e-0a9cd9f4614a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-66b77108-2e0c-401e-b0eb-5b1461621d38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d635464-c148-4e46-ae01-f82c64d894ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b14e2b93-f46f-4564-a413-93754a282915 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'boo!'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ec96d32b-c910-4598-a143-533b273839f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value 'boo!', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4fe13524-5216-4105-8c0d-de00361603f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.75 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} 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-9a2944d1-eb45-4e57-b24f-7ba1c852a46a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7b5f642e-847d-44fb-af45-aed8df73196b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-63de679c-7ce1-4661-a014-6a92e49988fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'false'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-e71a8516-519e-4ccd-b0e3-290d3265c755 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b017fd53-27d7-4110-8279-f3beccdb2688 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-24a83a6c-e50b-4076-a856-3cc98bad0498 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-47578115-0688-448c-a355-732bf85975fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-69561d0b-8cf0-4a24-8ea9-3d3b7e64f6f2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.042831s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.041789s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.043812s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.030448s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.038553s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.072541s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.029554s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.071647s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.069543s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.012657s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.065210s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.033798s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.091313s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.039168s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4226fbe6-a844-4551-b530-48ad4a8ad9e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected)\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91b1bc20-7d9e-4cf9-91c2-5c519384ef3b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected)\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-825441f9-cbce-4209-966f-c6e44f29f732 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} POST: /v1/nodes/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7d5911cb-0582-48c7-9bfe-c8d9c821f428 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-cb1ebe12-ccf3-470d-9db0-147c3fb96497 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support test (disabled or not implemented).\", \"debuginfo\": null}"} 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-88d7dd4e-b166-4144-bc33-8b9e25158c0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1332216b-62e4-4f29-ae2a-db85c0deff30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-981c3780-8be7-4e0e-9ae3-5cabbfb97b41 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1388b81e-f03b-4421-9a2d-0e27fe8fca8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3a518d2-c60f-4be4-aee7-0a6c5c0bf810 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6eb76d26-4be5-4fc5-a3f1-9f1cdba51296 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5b05badd-b624-4291-937a-0c1a85bc4a13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e8c14c23-3dd2-4cdd-9364-e650f90eb603 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.052837s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.032427s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.041802s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.068236s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.034529s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.064016s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.030575s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.073220s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.065177s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.031482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.067109s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.031294s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.081053s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.029081s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.054228s] ... ok GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=False {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-815b8a8a-3328-4372-97d7-c32174cb6b57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/ports?detail=False&fields=internal_info {} GOT:{'ports': [{'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a6dfafa1-2379-401b-a5ff-64c110d3b1c7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'ports': []} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports?node=test-node {} GOT:{'ports': []} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': 'ee499fe0-bade-443c-9ed6-40f8f1efd2a5', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ee499fe0-bade-443c-9ed6-40f8f1efd2a5', 'rel': 'self'}, {'href': 'http://localhost/ports/ee499fe0-bade-443c-9ed6-40f8f1efd2a5', 'rel': 'bookmark'}]}, {'uuid': '9ba98ce9-412b-4a8d-a51b-f25d6a436380', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/9ba98ce9-412b-4a8d-a51b-f25d6a436380', 'rel': 'self'}, {'href': 'http://localhost/ports/9ba98ce9-412b-4a8d-a51b-f25d6a436380', 'rel': 'bookmark'}]}, {'uuid': '32fe770d-1273-4d2a-bede-169628a45acf', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/32fe770d-1273-4d2a-bede-169628a45acf', 'rel': 'self'}, {'href': 'http://localhost/ports/32fe770d-1273-4d2a-bede-169628a45acf', 'rel': 'bookmark'}]}]} GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.715205+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-fe4534d7-3e9b-4617-a774-6be7eeedcab1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.796209+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.865865+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.865865+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.911028+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.911028+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GET: /v1/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9 {} GOT:{'uuid': '0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'created_at': '2024-09-07T17:17:31.993780+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'rel': 'self'}, {'href': 'http://localhost/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9 {} GOT:{'uuid': '0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'created_at': '2024-09-07T17:17:31.993780+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'rel': 'self'}, {'href': 'http://localhost/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9 {} {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.066022s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.029478s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.036851s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.029033s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.029684s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.082805s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.117779s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.041395s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.038710s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.034713s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.067703s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.071620s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.034874s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.032389s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae3225e2-df25-43ca-a3b0-a9520d4f5754 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"too many traits\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bcef2649-9485-4d03-9cf0-b8a87fb5ad5d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{'traits': ['CUSTOM_1', 'CUSTOM_2']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6fe1bf8c-f95f-4bb4-b87c-fc883122fdc6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-4636b4bc-8c33-457b-ac9c-341b401425d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/ports?fields=address,uuid {} GOT:{'ports': [{'uuid': '60e8dc13-d09e-4946-bf74-0e5c45c1eb9a', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/60e8dc13-d09e-4946-bf74-0e5c45c1eb9a', 'rel': 'self'}, {'href': 'http://localhost/ports/60e8dc13-d09e-4946-bf74-0e5c45c1eb9a', 'rel': 'bookmark'}]}, {'uuid': 'd0af821a-7da3-44c2-9341-4995bf070e06', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d0af821a-7da3-44c2-9341-4995bf070e06', 'rel': 'self'}, {'href': 'http://localhost/ports/d0af821a-7da3-44c2-9341-4995bf070e06', 'rel': 'bookmark'}]}, {'uuid': 'fbf2a70b-9a36-4491-9e33-6bd4fef0712a', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/fbf2a70b-9a36-4491-9e33-6bd4fef0712a', 'rel': 'self'}, {'href': 'http://localhost/ports/fbf2a70b-9a36-4491-9e33-6bd4fef0712a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=fbf2a70b-9a36-4491-9e33-6bd4fef0712a'} GET: /v1/ports?detail=True {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.870495+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'physical_network': 'physnet1', 'pxe_enabled': False, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?portgroup=fooname {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:31.904598+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-34fe5f8a-cc01-48fd-a4c9-10d92a97de3b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?fields=address&limit=2 {} GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/1ce4b119-feb7-4d67-af0b-a10c4e97f1c9', 'rel': 'self'}, {'href': 'http://localhost/ports/1ce4b119-feb7-4d67-af0b-a10c4e97f1c9', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/40cca8fb-aced-4c13-b79d-e1e5978193ff', 'rel': 'self'}, {'href': 'http://localhost/ports/40cca8fb-aced-4c13-b79d-e1e5978193ff', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=40cca8fb-aced-4c13-b79d-e1e5978193ff'} 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-88fd85ce-60f8-4cb7-8d83-7e9a6f978b4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:32.028866+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '3b6016db-508b-46a3-94d4-f09ffd96ce7b', 'created_at': '2024-09-07T17:17:32.079034+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/3b6016db-508b-46a3-94d4-f09ffd96ce7b', 'rel': 'self'}, {'href': 'http://localhost/ports/3b6016db-508b-46a3-94d4-f09ffd96ce7b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-38f81aaf-f022-4649-b23e-1f5f058bcc94 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports {} {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.034888s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.047886s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.086113s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.038178s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.100573s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.025064s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.050709s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.027688s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.039555s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.085585s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.064368s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.045318s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.052555s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.037834s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.035435s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.030287s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.088425s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.087836s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.050464s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.034732s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.089373s] ... ok GOT:{'uuid': '0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'created_at': '2024-09-07T17:17:31.993780+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'rel': 'self'}, {'href': 'http://localhost/ports/0c6351b6-c835-4ffb-93e3-777f7e48cac9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a2661e3-40d2-4d80-a8d1-10316ee2c58f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:32.076053+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '602ec4aa-1745-4b4b-b777-b9de2dfeaab6', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/602ec4aa-1745-4b4b-b777-b9de2dfeaab6', 'rel': 'self'}, {'href': 'http://localhost/ports/602ec4aa-1745-4b4b-b777-b9de2dfeaab6', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': []} GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0dd8a237-272c-4570-9c76-befec65f3f16 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-174acaec-b098-48f8-b5a0-629acf2a3598 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7336ac97-8cfa-4443-a9c0-ad52704d2d56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=local_link_connection {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f614663a-af42-4694-b831-ca235893a483 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da5afc7d-892e-4ece-9681-3df25b2555d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.289892+00:00", "updated_at": "2024-09-07T17:17:32.304422+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1", "network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} 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-6d28f3f5-490e-41c2-b0a8-9566f5bf59b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.329409+00:00", "updated_at": "2024-09-07T17:17:32.342319+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-3c4b1b39-c8c8-4587-8132-1e96114f5b54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.378032+00:00", "updated_at": "2024-09-07T17:17:32.393149+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bdf165b0-c872-4b12-be27-a6fbb572ff44 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.106262s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.047714s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.083375s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.057327s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.044767s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.072343s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.077682s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.035205s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.059962s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.068039s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.055113s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.074867s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.062135s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.057648s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.123352s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.077792s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.031863s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86abf8b4-5fc6-488a-bc2d-4304c139ea2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'unsupported-efi'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea082cee-9257-4b5c-84e5-228ae44dccdc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid boot mode unsupported-efi requested for node. Allowed boot modes are: bios, uefi\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-98f8cd61-11ee-4e8c-a502-814274303a84 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9500ab0c-4498-4075-9ea1-d3ae57df641d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4d823f36-092f-466d-8832-7ff144a4b418 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-17edd5ca-802e-4d89-a934-97c4db253e51 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ad0610fa-6980-413f-84f3-d6b7994d9f9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c53c9536-1f73-43d1-9056-649679e2b329 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-289e3294-59ce-4d07-8c4a-e627dfd33103 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f817d038-aa7c-4c7a-b9e1-8d07ce8007b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5f5cfa59-f9d5-4c0d-9b75-7a086f1168ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88b4b6e4-d94e-4b38-ae73-27f3c35f8e5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'rescue_password': 'password'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-803ae83e-0094-48c8-b9b0-55301d872fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-51c74755-a7ee-444a-b623-198b2e26ca37 X-Openstack-Ironic-Api-Maximum-Version: 1.78 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-9b0c54cb-900a-4b0b-b089-9c0469645ffd X-Openstack-Ironic-Api-Maximum-Version: 1.78 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-ac9b465d-950c-4662-99b8-6e6a40eac89a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.046269s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.045497s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.066326s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.073878s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.020513s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.012467s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.051715s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.059024s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.039455s] ... ok GOT:{'ports': [{'uuid': 'bf5c4990-8788-43ad-9779-129a2437eff7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/bf5c4990-8788-43ad-9779-129a2437eff7', 'rel': 'self'}, {'href': 'http://localhost/ports/bf5c4990-8788-43ad-9779-129a2437eff7', 'rel': 'bookmark'}]}, {'uuid': '297610d7-f720-4445-877d-56b6f107935c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/297610d7-f720-4445-877d-56b6f107935c', 'rel': 'self'}, {'href': 'http://localhost/ports/297610d7-f720-4445-877d-56b6f107935c', 'rel': 'bookmark'}]}, {'uuid': '3c87c440-8320-47e7-b8e9-38d51e4411a2', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/3c87c440-8320-47e7-b8e9-38d51e4411a2', 'rel': 'self'}, {'href': 'http://localhost/ports/3c87c440-8320-47e7-b8e9-38d51e4411a2', 'rel': 'bookmark'}]}, {'uuid': 'f2c08418-3033-45c5-aaa4-809d4b70c824', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/f2c08418-3033-45c5-aaa4-809d4b70c824', 'rel': 'self'}, {'href': 'http://localhost/ports/f2c08418-3033-45c5-aaa4-809d4b70c824', 'rel': 'bookmark'}]}, {'uuid': '476883e9-d315-4a8c-9fe0-8f3f4dded68b', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/476883e9-d315-4a8c-9fe0-8f3f4dded68b', 'rel': 'self'}, {'href': 'http://localhost/ports/476883e9-d315-4a8c-9fe0-8f3f4dded68b', 'rel': 'bookmark'}]}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': 'd483cabe-738a-47b4-8c34-f118eade4ef4', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/d483cabe-738a-47b4-8c34-f118eade4ef4', 'rel': 'self'}, {'href': 'http://localhost/ports/d483cabe-738a-47b4-8c34-f118eade4ef4', 'rel': 'bookmark'}]}, {'uuid': 'd253cd22-a8c4-451b-b2ab-2b511621d667', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d253cd22-a8c4-451b-b2ab-2b511621d667', 'rel': 'self'}, {'href': 'http://localhost/ports/d253cd22-a8c4-451b-b2ab-2b511621d667', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1519745f-69d3-45be-ba1c-4da226081b6d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet1', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-14f9438d-668e-4ebc-bc8f-46cb160fa817 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82e59301-e913-4915-a1a2-8ffabab8b258 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': '', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1e7e134-12a5-48b9-a279-5ec11ca83be5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} 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-f6517af6-3f70-4ea3-b3a8-0ba5e53b8494 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e79fc89d-fecd-48ff-b0e9-67d47fb14825 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} PATCH: /v1/ports/bc58ad38-40dc-4177-85cd-db750ad38ca7 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2b237fc-524f-4d11-8e6a-f17ecf8085ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "bc58ad38-40dc-4177-85cd-db750ad38ca7", "created_at": "2024-09-07T17:17:32.485552+00:00", "updated_at": "2024-09-07T17:17:32.496309+00:00", "address": "bb:bb:bb:bb:bb:bb", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/bc58ad38-40dc-4177-85cd-db750ad38ca7", "rel": "self"}, {"href": "http://localhost/ports/bc58ad38-40dc-4177-85cd-db750ad38ca7", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c4c58855-e8f5-45fa-bca4-6ac046933026 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ae096576-9017-4c67-a192-469648d5047b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '68037757-ab66-4ce3-b89f-c36c7575e9e7', 'op': 'replace'}] {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.366831s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.033663s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.015312s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.079558s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.014210s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.068522s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.036909s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.045294s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.055138s] ... 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-a177bc5d-8d03-4a9e-a276-b3be25ede98a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': 'http://example.com'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-6740c573-0cd1-4f2e-a331-02fafb024fad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6a71d646-728d-4cb1-9e79-ddd44d0e751e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.69\", \"debuginfo\": null}"} 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-43dd15c9-b6fc-4e8d-9685-446429f2cd41 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-129e348c-a79d-47a2-b939-7e3bf99bd4a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2dfc7a30-4cc0-4b75-9234-e4483e3ccd68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 0} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-af85172f-4692-4c74-8bd3-8bf64d79242c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 1} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-cd7a8211-3a65-428e-8899-d90cf8657f72 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 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-c0a636aa-5fcf-45b3-b7cc-6c385d310244 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6bcc5298-5e37-4152-9739-b1cad844de56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid persistent: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': 'true'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-ff94d652-a4ac-47f1-baec-206d2d78de57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=glow {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ae4aca3-e5c2-44e0-9065-66bd872fce70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-3dd43ec1-c69c-4342-b1db-88e39eecbe7d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7080a0c3-8a23-43a0-8389-a1fac9aa1b0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-523536d4-d5d0-41dd-98ef-bfd650ce719c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/nodes/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ec44cbf6-4f1c-489e-b550-4f3fc729ac13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': []} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-fcb9b2d7-7b82-4895-8b7d-f30b9e313c4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/7bcf7073-c09e-4612-8e17-8f877935b241 {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.046709s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.026944s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.070196s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.054465s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.030008s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.041956s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.047388s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.034284s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.047042s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.050047s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.045552s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.031504s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96e369ac-8ed9-425c-a3d7-71694a8acc81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.468318+00:00", "updated_at": "2024-09-07T17:17:32.479719+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-2bcc3c97-f779-432c-ac90-d5f664ddf4dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.534895+00:00", "updated_at": "2024-09-07T17:17:32.566974+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f7714548-01b0-413f-8b51-74e1f7d53d11 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-a237d72b-9a2d-4eb5-8205-01cea5174afc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.639536+00:00", "updated_at": "2024-09-07T17:17:32.649527+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-924b7163-5949-4e8c-8e63-a12acad25280 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-53d1a8f7-e8fc-4ce0-92cb-2da88b94b8be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-80ab3aea-a6bb-4eea-9e0a-97251ace3a01 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'a2334c8b-d9e3-48db-bfc9-e13893c3e724', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-88d72909-8887-40ef-bb5a-7734a1f556fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a858f41-d394-4dd3-b7e7-4966d7a43738 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.965496+00:00", "updated_at": "2024-09-07T17:17:32.976047+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-b7ecad4e-2fe1-4a29-84f2-f369a1f6cef1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.999656+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-25803ca9-ac04-4d7d-9c12-7d0d462dfccf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.067396s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.042231s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.066573s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.033161s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.027698s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.044408s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.029818s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.064648s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.038847s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.056834s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.053983s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.034551s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.034329s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.031676s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.032342s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c31f4c44-1cc5-48d9-ae52-441292b4514e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:32.927740+00:00", "updated_at": "2024-09-07T17:17:32.944365+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "68037757-ab66-4ce3-b89f-c36c7575e9e7"} 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-445b6e88-b1a0-4b04-a02e-de5708fa6ead X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1992b21-f88b-4fa1-9270-b2169153870d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.067193+00:00", "updated_at": "2024-09-07T17:17:33.080637+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b0f86a89-8939-4422-9f30-9645e314d64d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae019ccb-6c78-4bb4-ab76-5c6fb254370c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d6f26c73-4ef3-4932-8a09-24ab8f09cd61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.198734+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15", "switch_info": "value3"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7bbdc092-a653-4df8-8a64-e133b611df67 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0f96ad3a-750e-4c3b-8b06-7776f1d34409 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.079076s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.063175s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.067366s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.037950s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6db2c5d6-e32f-4a82-9473-ff7a22b9ed4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.175462+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:33.175462+00:00', 'updated_at': None, 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c20ef741-fc95-44ff-bf8f-ec219c6b7185 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.236400+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:33.236400+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8f0340dd-5501-4fa8-9131-baefb1ef9479 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.286984+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d130cdd2-bcfc-4855-921d-21c824d4ac5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.325398+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5235eed9-bdc8-4410-b73e-ad2c5e7abc32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.038596s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.027974s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.044350s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.054461s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.031005s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.062183s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.061021s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.032694s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.036307s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.035450s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.043623s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.033545s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.029248s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.035096s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.023998s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.046095s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.037479s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.043122s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.043789s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.036238s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.081400s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.044334s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.028144s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2f1802c0-6e47-4ff7-ad67-3e05d6b5d640 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.361850+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '6498a744-744a-440e-9e8c-bac39428c7ae', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db64bdb4-be47-4e9f-85dd-65c26e29f90c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 6498a744-744a-440e-9e8c-bac39428c7ae could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-72f103ae-c0c5-4d8f-b03a-157f8b38f7cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.496120+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:33.496120+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-fe45d46e-0856-40aa-9e60-9c8e8f2abd0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.543939+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9749bfd6-a0cb-4f37-b2ba-1104fec259b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bad3d6a9-b724-49f1-bfb2-456368602dad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'hostname': 'host1', 'port_id': 'rep0-0'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.062664s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.079067s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.103325s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-24567c80-5caa-4b74-9876-21696e914711 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports/?limit=3 {} GOT:{'ports': [{'uuid': 'e13fcf35-f90c-4e1e-8be5-5a8c7ac45c96', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/e13fcf35-f90c-4e1e-8be5-5a8c7ac45c96', 'rel': 'self'}, {'href': 'http://localhost/ports/e13fcf35-f90c-4e1e-8be5-5a8c7ac45c96', 'rel': 'bookmark'}]}, {'uuid': '81438913-b7c3-4bb4-82d2-d04b34e90f5b', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/81438913-b7c3-4bb4-82d2-d04b34e90f5b', 'rel': 'self'}, {'href': 'http://localhost/ports/81438913-b7c3-4bb4-82d2-d04b34e90f5b', 'rel': 'bookmark'}]}, {'uuid': 'c717b71b-b227-4419-8404-d503dcf2ef93', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/c717b71b-b227-4419-8404-d503dcf2ef93', 'rel': 'self'}, {'href': 'http://localhost/ports/c717b71b-b227-4419-8404-d503dcf2ef93', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=c717b71b-b227-4419-8404-d503dcf2ef93'} GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ea025744-ce44-4506-9e0a-5cb3c12f6543 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-17cd4c3c-d1aa-4aff-8c7a-50289bdde49b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': '2eb35e34-d28e-4544-926f-fd8d1dd06992', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/2eb35e34-d28e-4544-926f-fd8d1dd06992', 'rel': 'self'}, {'href': 'http://localhost/ports/2eb35e34-d28e-4544-926f-fd8d1dd06992', 'rel': 'bookmark'}]}, {'uuid': '9e00cc31-43fa-469e-bb26-b699e397df14', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/9e00cc31-43fa-469e-bb26-b699e397df14', 'rel': 'self'}, {'href': 'http://localhost/ports/9e00cc31-43fa-469e-bb26-b699e397df14', 'rel': 'bookmark'}]}, {'uuid': '653db2d5-5b49-4d2b-bf3d-429d247022fb', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/653db2d5-5b49-4d2b-bf3d-429d247022fb', 'rel': 'self'}, {'href': 'http://localhost/ports/653db2d5-5b49-4d2b-bf3d-429d247022fb', 'rel': 'bookmark'}]}]} GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0fdec548-fbb3-4d02-a414-44062feaf579 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-84a277bc-e00f-4ea8-952c-ecaa7d90bb38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'is_smartnic': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-97c52439-418b-4630-8c8e-6da1fd9997b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:33.423488+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '4cc7e581-8178-40b7-967d-2bca62de3190', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/4cc7e581-8178-40b7-967d-2bca62de3190', 'rel': 'self'}, {'href': 'http://localhost/ports/4cc7e581-8178-40b7-967d-2bca62de3190', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{'ports': []} GET: /v1/ports?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': 'fdbb9e9d-75a4-4f9b-964e-b49f6342c04d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/fdbb9e9d-75a4-4f9b-964e-b49f6342c04d', 'rel': 'self'}, {'href': 'http://localhost/ports/fdbb9e9d-75a4-4f9b-964e-b49f6342c04d', 'rel': 'bookmark'}]}, {'uuid': 'fe905850-bf5b-4b4b-8e10-93027d477471', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/fe905850-bf5b-4b4b-8e10-93027d477471', 'rel': 'self'}, {'href': 'http://localhost/ports/fe905850-bf5b-4b4b-8e10-93027d477471', 'rel': 'bookmark'}]}]} GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2a9fa1e3-684a-4292-b592-1735a86e43d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-33da2446-d42a-4181-b894-50dd7b923744 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.620206+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'a6e59155-ab7d-43eb-8b12-0a1350b8995c', 'op': 'add'}] {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.045358s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.027645s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.083462s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.057103s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d97c4c06-189a-4fba-919a-604b3612ed24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'value1', 'port_id': 'Ethernet1/15', 'switch_foo': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a257490e-fe4f-412d-a380-39f42f2cbe92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected)\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-edde4e88-8bfd-42b4-b242-fc67d479aab9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.472358+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-877abb9e-50be-49f1-9396-952c4ea3edf4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a1984b92-8fb8-4dbf-a23f-b9ed1be40c17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.546400+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e95c5ca5-6657-436e-9365-3f892ca9afbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-15af134c-4967-498d-8146-2941895cb8f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f2e643b6-fe44-4a90-a928-28774e22b6a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-60fba352-a395-4e35-a321-fe77408563cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/portgroups/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-5f60130d-6ad5-4d80-bf9f-2f307997d1e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 GET: /v1/portgroups/?limit=3 {} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.050564s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.034882s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.041770s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.037701s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.067156s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.044939s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': '\nw7FJYV8ywqx+wqnCpwPCoXHDisO6HMO2w4nDsBBJccOvXsKUMsO9OcOPCQLCnMKoPSFLwp\nDDhj7Ck8KqwprDpcKWw6XChsOMw5lSEcKUZcO0PUJiWcK4wq0owr4ye8Ozw67ClzXDmsO7\nUxvCpjnCkFQgw73Ch8Kaw5HCicKlXMOvUnDDvg5uwoFkwqDCl8KAEWwCbUQvw7I5JcKUw7\nVbKl3Di8O4LMKuwrHChMOBw5plaVJKci04w7fCgcOgVhkwwoLCgilxwqTCpDNCGzdNw5N6\nwpgAw6jDn8ODLBBlMGcawrEZwr3DiVPDtMKTwpcxwrpBwrrDtcOEw5YTw7MMwqnCsMKqwp\nPCkMK1wpTDssKfwrDCscOsEEDDo8OAw5DCqsKKGBRqwqPDqx7Cg8KkDcOkwoIuwo/CgcK0\nZcKNf3N7wqIYQcKgQDnCq8KFw6DCvMOwWAHChMO3w5xWb8O3wq7Dn8K4eXgWw742woUqw5\n/DvcK+ScKcX8KzwprCuD3DgcOsC8Oqwp0CwqB8TsOIHsKVwozCv8O+w4LCmE9GCMORw63D\nicOQw4ZFasOzw4Uvw7NSw6Qbw77DkBgkwo4COcOzOWLClRNQXcOHwojCrsOdHMKIw6nDuM\nORHMKeXMO8fcK0By7CiMKwHSXCoEQgfQhWwpMdSsO8LgHCjh87DQc= '} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-e635823b-9fe4-487d-bb70-5082fe0df70c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': ['aabb']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5acf780c-4f6d-4d5a-9f9e-010774fb9491 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , , for configdrive: ['aabb']\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset', 'priority': 95, 'args': {}}]} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c292d6b7-fc3a-4ee9-9d0b-b5363105db77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-de8c2ab8-778a-4d93-8b82-e9cadcd4af9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'undeploy'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-69aa71bf-2df2-4c4e-bc8b-d0ec51dd305b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 204 No Content Openstack-Request-Id: req-88d2c061-def0-4e52-a4bd-d5c3ad25df8d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81ca4e0f-7ab0-432d-b436-7cfbf5fee976 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65096b6d-c8e4-43ac-9e8c-2c0a9d73da3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid secure_boot None requested for node. Allowed secure_boot states are: True, False) \", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': ''} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c548078-247e-45d6-930f-d29cb11bd6ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ce35f142-d8fc-4c36-8d16-3c6abf200fdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.76 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-28424923-73df-4042-8cb0-3421bc8f625e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-a3bc9ef2-d094-40c2-a49a-38be615f81a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-c973a77d-305f-4766-b5db-86aecb2f3ead X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} GOT:Response: 204 No Content Openstack-Request-Id: req-7f021926-50bf-4093-a300-23bf2b829fa9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-52882acc-5ef7-4836-ab27-0e08790c3a3b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-72995761-a7dd-4458-93ea-7fcd4176c744 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ba10d8d9-77c9-4323-ad19-c55b659f9f53 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-db7dbbf5-14f6-4d27-8ca8-b6efda2f93fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-e30f1d9f-7229-4a56-b468-6b42f9124cea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.055615s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.038215s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.041525s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.078987s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.071964s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.042688s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.035717s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.028862s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.037357s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.026902s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.021736s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.037918s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.039709s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.051978s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.051585s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.017954s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.074190s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.023388s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.025600s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.030287s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.026512s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.016963s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.036543s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.023027s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.052191s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.053373s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.033800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.035276s] ... ok GOT:{'portgroups': [{'uuid': '68b0d84e-97c2-4776-9636-045bf8dacbc2', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/68b0d84e-97c2-4776-9636-045bf8dacbc2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/68b0d84e-97c2-4776-9636-045bf8dacbc2', 'rel': 'bookmark'}]}, {'uuid': 'b85525e8-06e1-4654-b28e-0518435e8325', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/b85525e8-06e1-4654-b28e-0518435e8325', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b85525e8-06e1-4654-b28e-0518435e8325', 'rel': 'bookmark'}]}, {'uuid': 'a9588f65-f741-4f0c-9371-70a3b7638c73', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/a9588f65-f741-4f0c-9371-70a3b7638c73', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a9588f65-f741-4f0c-9371-70a3b7638c73', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=a9588f65-f741-4f0c-9371-70a3b7638c73'} GET: /v1/portgroups?fields=address,uuid {} GOT:{'portgroups': [{'uuid': '1ce56927-fef0-4b49-9d29-bbd62dc336f3', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/1ce56927-fef0-4b49-9d29-bbd62dc336f3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1ce56927-fef0-4b49-9d29-bbd62dc336f3', 'rel': 'bookmark'}]}, {'uuid': 'a0b7a359-b752-4a67-ae04-565e4a863337', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/a0b7a359-b752-4a67-ae04-565e4a863337', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a0b7a359-b752-4a67-ae04-565e4a863337', 'rel': 'bookmark'}]}, {'uuid': 'bd143298-0595-4c16-984d-81b738532549', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/bd143298-0595-4c16-984d-81b738532549', 'rel': 'self'}, {'href': 'http://localhost/portgroups/bd143298-0595-4c16-984d-81b738532549', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=bd143298-0595-4c16-984d-81b738532549'} GET: /v1/portgroups/detail {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:33.843877+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0fecc88-f87f-4b93-bccd-b5fb2f0d9d26 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups/detail?node=test-node {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:33.956991+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-79bf42c2-f70c-4b17-9166-aa1cc6d9b325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups?fields=uuid,extra {} GOT:{'portgroups': [{'uuid': 'd076d5ec-4224-451b-8c2c-dcb39ce213ae', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/d076d5ec-4224-451b-8c2c-dcb39ce213ae', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d076d5ec-4224-451b-8c2c-dcb39ce213ae', 'rel': 'bookmark'}]}, {'uuid': '9cf397b0-8dba-44ae-91e7-6bfefff218a9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/9cf397b0-8dba-44ae-91e7-6bfefff218a9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9cf397b0-8dba-44ae-91e7-6bfefff218a9', 'rel': 'bookmark'}]}, {'uuid': '201e068e-ea6c-48ff-a5b0-4597dcfb4e18', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/201e068e-ea6c-48ff-a5b0-4597dcfb4e18', 'rel': 'self'}, {'href': 'http://localhost/portgroups/201e068e-ea6c-48ff-a5b0-4597dcfb4e18', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:34.059010+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} GET: /v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c {} GOT:{'uuid': '5b776366-77c8-433f-ad33-17f37dbdb70c', 'created_at': '2024-09-07T17:17:34.092529+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c {} GOT:{'uuid': '5b776366-77c8-433f-ad33-17f37dbdb70c', 'created_at': '2024-09-07T17:17:34.092529+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c/ports', 'rel': 'bookmark'}]} GET: /portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c {} {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.045995s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.030548s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.044597s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.025548s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.042154s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.030103s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.027851s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.028904s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2f82f163-a9bf-43b2-b56e-0d08f1c8f56c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.672577+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": true, "local_link_connection": {"hostname": "host1", "port_id": "rep0-0"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e885b4e0-3c8d-45b7-b555-e6e1dc6dd318 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9695eb68-8452-4753-807d-30eed13e8ea1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7ce2595c-d5b6-44a7-97e3-9493ae9f13f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ba7b6cf3-5a26-42e8-ac34-67da11ee27ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.922226+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"network_type": "unmanaged"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DELETE: /v1/portgroups/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '4e4f0cf4-d027-4c74-94bd-ed19d74f3298', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/4e4f0cf4-d027-4c74-94bd-ed19d74f3298', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4e4f0cf4-d027-4c74-94bd-ed19d74f3298', 'rel': 'bookmark'}]}, {'uuid': '53071442-f80b-444f-8b38-8fb094dda6be', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/53071442-f80b-444f-8b38-8fb094dda6be', 'rel': 'self'}, {'href': 'http://localhost/portgroups/53071442-f80b-444f-8b38-8fb094dda6be', 'rel': 'bookmark'}]}, {'uuid': '78ddbd9d-b7f8-4439-b14f-d4e4011401ac', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/78ddbd9d-b7f8-4439-b14f-d4e4011401ac', 'rel': 'self'}, {'href': 'http://localhost/portgroups/78ddbd9d-b7f8-4439-b14f-d4e4011401ac', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=78ddbd9d-b7f8-4439-b14f-d4e4011401ac'} GET: /v1/portgroups {} GOT:{'portgroups': []} GET: /v1/portgroups?node=test-node {} GOT:{'portgroups': [{'uuid': '8b87e8f9-57f3-48a9-a061-e7a9a7d541a3', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/8b87e8f9-57f3-48a9-a061-e7a9a7d541a3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8b87e8f9-57f3-48a9-a061-e7a9a7d541a3', 'rel': 'bookmark'}]}, {'uuid': '7bab7d02-ea6d-43fb-a91f-b4cedebebe1d', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/7bab7d02-ea6d-43fb-a91f-b4cedebebe1d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7bab7d02-ea6d-43fb-a91f-b4cedebebe1d', 'rel': 'bookmark'}]}, {'uuid': '77f8527e-5704-4c78-b116-99c5c10c953f', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/77f8527e-5704-4c78-b116-99c5c10c953f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/77f8527e-5704-4c78-b116-99c5c10c953f', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:34.155744+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.047389s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.060322s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.053268s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef771f9f-0e81-4871-bd8c-d0ebf115796e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.663168+00:00", "updated_at": "2024-09-07T17:17:33.676754+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "a6e59155-ab7d-43eb-8b12-0a1350b8995c"} 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-bdb81acb-68f5-4524-95f1-a41dbb51f371 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95b31af7-ffa7-4421-8546-1dd809822b56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.745020+00:00", "updated_at": "2024-09-07T17:17:33.762533+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9dbe795d-201e-4d46-a26a-459efb5873bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.745020+00:00", "updated_at": "2024-09-07T17:17:33.779355+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-cd7d1fc4-9118-4fef-a6ee-fa9bdc74a71d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2a2183a3-8be0-4bb3-ad4c-80709ba97d0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-38089e10-4d53-4ce4-ab11-38f8674b02b2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:33.932347+00:00", "updated_at": "2024-09-07T17:17:33.946147+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ca059290-0ce8-4d01-b1f5-b75a186ad72e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update port \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c781\\\" on \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/ports/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-75850038-dfa1-4ee3-bfb1-99bbfd3e7816 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:34.013809+00:00", "updated_at": "2024-09-07T17:17:34.035059+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-924e3511-7a88-40c4-93f0-afa92c26ba66 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.080835s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.034639s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.087789s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.028416s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.084384s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.039026s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.332051s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.076656s] ... ok GOT:{'uuid': '5b776366-77c8-433f-ad33-17f37dbdb70c', 'created_at': '2024-09-07T17:17:34.092529+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5b776366-77c8-433f-ad33-17f37dbdb70c/ports', 'rel': 'bookmark'}]} GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c374d56-145f-4d16-b238-d9bbaba1bba5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68ccae20-2eac-43dd-93aa-28530325c09a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-268a5845-c4f5-4441-82b9-a27ba8e3f14b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8eb839d-4af6-4ca3-8eff-0cc22c154cf7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9a7f9ce8-61db-49c0-830d-1ddb88a1e8fd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8638930-97b9-4f5b-bd00-baadfb1e071b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:34.210192+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-7dca0682-3037-4301-a6dd-4d9a3d310342 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0421c006-9cb8-49a8-89e9-2172f515e199 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9396f62c-c8bb-45c2-b756-ba615362e2a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:34.313419+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0ab5122a-a8d0-41a5-a7e4-e93e07a308b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update portgroup \\\"6eb02b44-18a3-4659-8c0b-8d2802581ae4\\\" on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/portgroups/075cb659-788b-4a0e-89a0-152b124efccf [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cfb3272f-b267-4319-8fa3-a69e2c0125d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 075cb659-788b-4a0e-89a0-152b124efccf could not be found.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.030767s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.048991s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.036095s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.052384s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.075859s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.032154s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.026136s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.038577s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.029240s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.079164s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.041649s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.206293s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.027404s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.032980s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.038200s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.032266s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.033269s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.032497s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.078000s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.049710s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.139245s] ... ok PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-75462193-e110-4329-b8b2-d89180327b5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected)\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7252478f-0298-40cc-a413-f019b30e2353 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-25b4fa73-3038-49ac-ab3b-d7f7c5a2ce4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-176495d9-4b71-46ce-a4a6-eb801cb813d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$'\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32e3fac3-e14e-410a-92f8-99f74eba19ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long\", \"debuginfo\": null}"} DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f79c2327-55e2-4db8-acb2-11eded618924 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-cb1ec8a7-5e39-46ab-9da6-612b17ec16e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7f4ef484-a0e0-4b6a-b29e-54692192e842 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': '3f596bb1-b8d0-4a55-a35d-65584bf097b8', 'created_at': '2024-09-07T17:17:34.434500+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:30', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': False, 'links': [{'href': 'http://localhost/v1/ports/3f596bb1-b8d0-4a55-a35d-65584bf097b8', 'rel': 'self'}, {'href': 'http://localhost/ports/3f596bb1-b8d0-4a55-a35d-65584bf097b8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': 'c310ddcf-1335-4d58-968b-93f985042eb4', 'created_at': '2024-09-07T17:17:34.437805+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/c310ddcf-1335-4d58-968b-93f985042eb4', 'rel': 'self'}, {'href': 'http://localhost/ports/c310ddcf-1335-4d58-968b-93f985042eb4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.513873+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.562494+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': []} GET: /v1/ports?fields=uuid,extra {} GOT:{'ports': [{'uuid': '406c1ca4-e0dd-4d74-9c74-8b5c5390d978', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/406c1ca4-e0dd-4d74-9c74-8b5c5390d978', 'rel': 'self'}, {'href': 'http://localhost/ports/406c1ca4-e0dd-4d74-9c74-8b5c5390d978', 'rel': 'bookmark'}]}, {'uuid': 'c342c9e2-8b4b-4e1a-b922-2e1ade06fda3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/c342c9e2-8b4b-4e1a-b922-2e1ade06fda3', 'rel': 'self'}, {'href': 'http://localhost/ports/c342c9e2-8b4b-4e1a-b922-2e1ade06fda3', 'rel': 'bookmark'}]}, {'uuid': 'a25418b6-4c41-4eff-b413-898be06d38c2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/a25418b6-4c41-4eff-b413-898be06d38c2', 'rel': 'self'}, {'href': 'http://localhost/ports/a25418b6-4c41-4eff-b413-898be06d38c2', 'rel': 'bookmark'}]}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.028909s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.031808s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.035524s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.043747s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.079797s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06842494-d198-4c49-9963-878a70aa5505 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:34.415205+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-7a0807a5-2d3e-4c51-ab69-aa021c92cf98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:34.464612+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} POST: /v1/portgroups {'uuid': '21d2dc9b-8ba5-4b88-b3be-fe6a7102f25e', 'name': 'af8f9b44-9511-461d-944d-9c62bd2638e6', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-6e765594-0470-4c56-aa09-bac0088eb23c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-63dba339-87af-4cb7-9c15-5486730b2f70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:34.500913+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:34.500913+00:00', 'updated_at': None, 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0664db42-7422-42be-b319-75b85f437223 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5844ae67-8284-4464-bb2e-79dbdcb6bdf7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} POST: /v1/heartbeat/d6a52fbe-543c-4975-a10f-9560c9bf4b1a {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a3ec837b-3d24-4075-ba4e-04d5add6b0c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node d6a52fbe-543c-4975-a10f-9560c9bf4b1a could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-00240ff8-4deb-41e4-ab13-9546223de20d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-8ec263c2-b171-4d20-85be-d17e368cb6a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/976300f9-d2d1-4caf-b6a8-3c243129e9b4 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0eda8aee-a6aa-49b1-8ad1-885d920a6a4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 976300f9-d2d1-4caf-b6a8-3c243129e9b4 could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.068749s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.082429s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.161507s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} POST: /v1/ports {'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/bee5ac10-dd6b-4662-8680-57146819daed Openstack-Request-Id: req-0f641fe3-f147-4ff6-8799-362e626a1ca4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "bee5ac10-dd6b-4662-8680-57146819daed", "created_at": "2024-09-07T17:17:34.364814+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/bee5ac10-dd6b-4662-8680-57146819daed", "rel": "self"}, {"href": "http://localhost/ports/bee5ac10-dd6b-4662-8680-57146819daed", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/ports/bee5ac10-dd6b-4662-8680-57146819daed {} GOT:{'uuid': 'bee5ac10-dd6b-4662-8680-57146819daed', 'created_at': '2024-09-07T17:17:34.364814+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/bee5ac10-dd6b-4662-8680-57146819daed', 'rel': 'self'}, {'href': 'http://localhost/ports/bee5ac10-dd6b-4662-8680-57146819daed', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'invalid-format', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bffb877b-6665-4bb3-a7fb-88f24d66e3cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': 'invalid-format', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9d7742f2-c4f0-4682-8039-854c40941265 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c5fb2a4-934f-4c86-b425-b505853e65d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'switch_info': 'fooswitch'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ac6b3de-c018-4ed3-b06c-9490ae5c4337 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0f022e80-b3da-4b47-9fef-0fb7926c2f33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:34.736854+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.124801s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.065709s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.082558s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.115939s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.035088s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.036614s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.045574s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.028200s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.090506s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.039479s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.029850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.040477s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.013448s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.011199s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.011517s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.027281s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.054115s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.029399s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.027808s] ... ok GET: /v1/portgroups?fields=address&limit=2 {} GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/27292ece-e4a4-48b6-8438-7efdecbc7009', 'rel': 'self'}, {'href': 'http://localhost/portgroups/27292ece-e4a4-48b6-8438-7efdecbc7009', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/acb42324-f7e9-45a6-a003-c3a03f1305a0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/acb42324-f7e9-45a6-a003-c3a03f1305a0', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=acb42324-f7e9-45a6-a003-c3a03f1305a0'} GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7742d0b6-4aad-45b5-9a8c-cf2ec667f650 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{'portgroups': [{'uuid': '79543fbc-69ed-4e84-ac86-5e12e14bdf9b', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/79543fbc-69ed-4e84-ac86-5e12e14bdf9b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/79543fbc-69ed-4e84-ac86-5e12e14bdf9b', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa89850c-4ec4-4da0-bc5f-83596cc89397 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups/795aaf85-7781-4d27-a7fa-bfae8198bac8/ports {} GOT:{'ports': [{'uuid': 'ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'rel': 'self'}, {'href': 'http://localhost/ports/ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'rel': 'bookmark'}]}, {'uuid': '99fa36e5-cd5e-45b6-bdac-e932a7746ded', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/99fa36e5-cd5e-45b6-bdac-e932a7746ded', 'rel': 'self'}, {'href': 'http://localhost/ports/99fa36e5-cd5e-45b6-bdac-e932a7746ded', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/795aaf85-7781-4d27-a7fa-bfae8198bac8/ports/detail {} GOT:{'ports': [{'uuid': 'ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'created_at': '2024-09-07T17:17:34.554447+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:30', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'rel': 'self'}, {'href': 'http://localhost/ports/ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '795aaf85-7781-4d27-a7fa-bfae8198bac8'}, {'uuid': '99fa36e5-cd5e-45b6-bdac-e932a7746ded', 'created_at': '2024-09-07T17:17:34.555788+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/99fa36e5-cd5e-45b6-bdac-e932a7746ded', 'rel': 'self'}, {'href': 'http://localhost/ports/99fa36e5-cd5e-45b6-bdac-e932a7746ded', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '795aaf85-7781-4d27-a7fa-bfae8198bac8'}]} GET: /v1/portgroups/795aaf85-7781-4d27-a7fa-bfae8198bac8/ports?limit=1 {} GOT:{'ports': [{'uuid': 'ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'rel': 'self'}, {'href': 'http://localhost/ports/ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=ab9ac8d8-b1a1-46d6-ae4a-b07eeed182d5'} GET: /v1/portgroups/795aaf85-7781-4d27-a7fa-bfae8198bac8/ports/d8c84856-f50e-4f25-874e-9ec0c8a96d25 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/795aaf85-7781-4d27-a7fa-bfae8198bac8/ports/ffa0da27-3bf4-4dbc-b39c-6336f70982f0 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20465d16-52a9-4144-ba5d-e3287a67d929 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-41ad84e5-06e1-43fc-8a3e-d928daf442e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=uuid {} GOT:{'portgroups': [{'uuid': '099580ca-5e94-46f8-95cc-c8a7303fcd8b', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/099580ca-5e94-46f8-95cc-c8a7303fcd8b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/099580ca-5e94-46f8-95cc-c8a7303fcd8b', 'rel': 'bookmark'}]}, {'uuid': '2cea4d22-9a79-4f4c-8bdf-27381242da32', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/2cea4d22-9a79-4f4c-8bdf-27381242da32', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2cea4d22-9a79-4f4c-8bdf-27381242da32', 'rel': 'bookmark'}]}, {'uuid': '5f40f384-411e-4c34-8394-3037940e4755', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/5f40f384-411e-4c34-8394-3037940e4755', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5f40f384-411e-4c34-8394-3037940e4755', 'rel': 'bookmark'}]}]} 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-293787b2-fe98-4c5a-bb0e-2c8740fe6a17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.164163s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.071346s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.063569s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.061225s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a9eaf677-4c46-4e14-8fff-17a775aaf0e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c80b9565-3613-4ae4-bb8a-6aa98772746e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.773349+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.773349+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.842640+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.842640+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.926938+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:34.926938+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': 'physnet1', 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GET: /v1/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d {} GOT:{'uuid': 'ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'created_at': '2024-09-07T17:17:35.003832+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'rel': 'self'}, {'href': 'http://foo/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d {} GOT:{'uuid': 'ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'created_at': '2024-09-07T17:17:35.003832+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'rel': 'self'}, {'href': 'http://foo/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d {} GOT:{'uuid': 'ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'created_at': '2024-09-07T17:17:35.003832+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'rel': 'self'}, {'href': 'http://foo/ports/ef96eb99-5e27-4ea4-8451-9184cab1ee6d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 123 123\"}"} GET: /v1/ports?sort_key=uuid {} GOT:{'ports': [{'uuid': '3c4820f0-6d89-46a5-bcd1-ae0d8ec431dd', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/3c4820f0-6d89-46a5-bcd1-ae0d8ec431dd', 'rel': 'self'}, {'href': 'http://localhost/ports/3c4820f0-6d89-46a5-bcd1-ae0d8ec431dd', 'rel': 'bookmark'}]}, {'uuid': 'a91342c4-a3a4-42bc-acc9-3d3338562636', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/a91342c4-a3a4-42bc-acc9-3d3338562636', 'rel': 'self'}, {'href': 'http://localhost/ports/a91342c4-a3a4-42bc-acc9-3d3338562636', 'rel': 'bookmark'}]}, {'uuid': 'd05ba6c1-9694-4070-8cdb-228604771c9a', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/d05ba6c1-9694-4070-8cdb-228604771c9a', 'rel': 'self'}, {'href': 'http://localhost/ports/d05ba6c1-9694-4070-8cdb-228604771c9a', 'rel': 'bookmark'}]}]} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0011a3e7-693e-4063-bb1b-a668371088bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.026633s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.046948s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.065238s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.049815s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.051448s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.032480s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.055359s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.064815s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.266408s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.018289s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.074027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.013782s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.077589s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.016647s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.017974s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.023249s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-cfe03383-117d-4102-ba94-78e771ffc92b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:34.838083+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a8c7bd94-84cf-47c2-adaf-a4a6bdd7d6dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:34.973974+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54813012-a631-4142-b332-d924237ae742 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fc850e49-6ac9-406d-9546-87bd2c05f33f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7ed1a54b-c0a9-428a-94a8-da203ba52501 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:35.086229+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ddaa871-cc58-4b98-a1b4-0a7fc00195ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property\", \"debuginfo\": null}"} POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-891f5acd-1095-4a26-98c0-2279010baa17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-1096656e-58a0-475e-84d8-82b5eec1f01a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-acf8c54e-4b7c-49a5-a705-b0f4aabd2f46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.093473s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.018659s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.095947s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.025372s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.083910s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.105010s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.022152s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.017025s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.044313s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.022520s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.082524s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.033559s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.018536s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.084683s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.014475s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.011990s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.041218s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.031282s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.012172s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.030509s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.012126s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.011929s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.043027s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.012121s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.011959s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.072269s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.025650s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a33aebb3-9534-412b-a5f3-846c0924d0e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.047443+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-22d02657-5fc4-4ceb-97d4-647c33df9193 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d5f3e30d-2c36-4ef0-ae60-2752bb049263 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.209121+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-2a6d369d-d3a3-4200-b4a9-ab6d9eb17222 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} PATCH: /v1/portgroups/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for portgroup: 52:54:00:cf:2d:31\"}"} PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83d3cdd0-8d38-4099-bc4b-03c909a21bab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.375593+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-53d56ef9-b83b-4f25-b0ca-3568aecfd95b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.471747+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": false, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-10729c88-159b-41e4-832a-b1e06f40d1d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.578026+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1b46cf85-7b21-4a85-971f-1278f62694ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/portgroups {'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.033928s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.049578s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.022606s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.021624s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.020757s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.038106s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.016885s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.034668s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.047478s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.014594s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.033907s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.013697s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.034837s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.013166s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.022924s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.014098s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.023210s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.023226s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.024748s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.042017s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.029415s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-90c077b9-2e21-4f4f-8ada-ca7a14357365 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/29745a87-9dbc-4515-b86b-42b3345d7833 [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dd48169d-c7c0-4c1e-8726-551d4abd8308 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8b148b8-fca3-443c-acce-3a8f700c95a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f74c176-efec-44d7-9536-cbf5100f8eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6bcb3c25-5882-4f11-86ea-cb45a26ff88a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e73aebc-e66c-4979-bde2-c036f2fac6f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:35.476845+00:00", "updated_at": "2024-09-07T17:17:35.516677+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-4cdd789b-4b6b-4a69-8308-86545f1438c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:35.582244+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-fe365769-8ecd-4f47-935a-e49df37e6910 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eaad607c-b65c-4cff-86e5-fde357aa5425 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:35.676772+00:00", "updated_at": "2024-09-07T17:17:35.708299+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '75898caa-227f-428e-b8b5-26dbc4962e24', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54915a37-21a9-4ea7-a234-36b5645ff0e7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:35.748816+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'cb752b76-8264-4e83-9a04-64275618ba4b', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': 'f182bb16-1feb-4f62-9009-1e9ca082b478', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.048408s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.019815s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.086143s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.016237s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.013941s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.015015s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c Openstack-Request-Id: req-9e6e884f-82ad-4372-8cb4-ebe6367d8b50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3bd9b1d2-d4f0-4585-9b36-aa3efff8758c", "created_at": "2024-09-07T17:17:35.656446+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c", "rel": "self"}, {"href": "http://localhost/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c/ports", "rel": "self"}, {"href": "http://localhost/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c/ports", "rel": "bookmark"}]} GET: /v1/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c {} GOT:{'uuid': '3bd9b1d2-d4f0-4585-9b36-aa3efff8758c', 'created_at': '2024-09-07T17:17:35.656446+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3bd9b1d2-d4f0-4585-9b36-aa3efff8758c/ports', 'rel': 'bookmark'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-40cb20b9-b834-4ee3-852a-03684bbb25fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected)\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1d0ee602-d561-4e4b-a6ac-3b916dca19a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-808ee06f-4d46-4731-b4c9-296ff1607473 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c371cefa-502f-404d-93cb-185813fbf8f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-6f562f3e-e241-4853-baa7-241841812f4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.773146+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:35.773146+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT:Response: 202 Accepted Openstack-Request-Id: req-2fe364b4-be89-4b71-a78a-d5b8f10529e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a258b852-4d69-4990-8542-c832f0867eda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.024265s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.025183s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.024409s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.024862s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.016336s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.053724s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.030921s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.014628s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.031711s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.019048s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-03e5ec66-b967-4cde-895c-db06a342939d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/portgroups/detail?sort_key=mode {} GOT:{'portgroups': [{'uuid': '24dbe1c7-686c-4a61-aea0-2e8698b60564', 'created_at': '2024-09-07T17:17:35.504496+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'mode_1', 'name': 'portgroup1', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/24dbe1c7-686c-4a61-aea0-2e8698b60564', 'rel': 'self'}, {'href': 'http://localhost/portgroups/24dbe1c7-686c-4a61-aea0-2e8698b60564', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/24dbe1c7-686c-4a61-aea0-2e8698b60564/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/24dbe1c7-686c-4a61-aea0-2e8698b60564/ports', 'rel': 'bookmark'}]}, {'uuid': '3ca84ffd-9cd6-4d34-9e82-bfdb3649e548', 'created_at': '2024-09-07T17:17:35.503157+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:32', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'mode_2', 'name': 'portgroup2', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/3ca84ffd-9cd6-4d34-9e82-bfdb3649e548', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3ca84ffd-9cd6-4d34-9e82-bfdb3649e548', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/3ca84ffd-9cd6-4d34-9e82-bfdb3649e548/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3ca84ffd-9cd6-4d34-9e82-bfdb3649e548/ports', 'rel': 'bookmark'}]}, {'uuid': '27f8e1de-540f-490d-94b2-2b5a3b514509', 'created_at': '2024-09-07T17:17:35.502135+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:33', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'mode_3', 'name': 'portgroup3', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/27f8e1de-540f-490d-94b2-2b5a3b514509', 'rel': 'self'}, {'href': 'http://localhost/portgroups/27f8e1de-540f-490d-94b2-2b5a3b514509', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/27f8e1de-540f-490d-94b2-2b5a3b514509/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/27f8e1de-540f-490d-94b2-2b5a3b514509/ports', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aebd1341-ca93-45a2-a2ac-bf087305a5bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b31a60ca-25e6-488c-bb03-4cb6a499a77e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:35.622812+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:35.651355+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'pg.1', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{'portgroups': []} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?sort_key=mode {} GOT:{'portgroups': [{'uuid': 'bc186290-e1c9-4ae0-9fa3-f386a211fca8', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/bc186290-e1c9-4ae0-9fa3-f386a211fca8', 'rel': 'self'}, {'href': 'http://localhost/portgroups/bc186290-e1c9-4ae0-9fa3-f386a211fca8', 'rel': 'bookmark'}]}, {'uuid': '99e5c973-b463-4f6f-a34f-57d5701e55fa', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/99e5c973-b463-4f6f-a34f-57d5701e55fa', 'rel': 'self'}, {'href': 'http://localhost/portgroups/99e5c973-b463-4f6f-a34f-57d5701e55fa', 'rel': 'bookmark'}]}, {'uuid': '136732e9-e42e-4765-9fe0-db7701dda442', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/136732e9-e42e-4765-9fe0-db7701dda442', 'rel': 'self'}, {'href': 'http://localhost/portgroups/136732e9-e42e-4765-9fe0-db7701dda442', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-92e09488-3759-4817-aa8e-16bcedf27b0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72403247-da22-4db7-b406-d8156b962477 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.055443s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.080876s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.039206s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.016766s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.025012s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.014367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.014283s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.029186s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.013435s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.015513s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.014639s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.012940s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.036507s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.074512s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.031589s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.013490s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.011535s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.023548s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.012265s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.030500s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.017361s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.030513s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.063641s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.054002s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.049808s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.046349s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.027336s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.054075s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.028822s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.032523s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.038209s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.034156s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.025913s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac608bf9-d6ff-43d9-8f21-04c6582fe44a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=283a9f93-9afe-4831-aade-7de1e7a7e9b2 {} GOT:{'node': {'uuid': '283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'rel': 'self'}, {'href': 'http://localhost/nodes/283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=283a9f93-9afe-4831-aade-7de1e7a7e9b2 {} GOT:{'node': {'uuid': '283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'rel': 'self'}, {'href': 'http://localhost/nodes/283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=283a9f93-9afe-4831-aade-7de1e7a7e9b2 {} GOT:{'node': {'uuid': '283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'rel': 'self'}, {'href': 'http://localhost/nodes/283a9f93-9afe-4831-aade-7de1e7a7e9b2', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '******', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': 'e6b93a37-5109-479f-8b5e-a43e46ba50ba', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/e6b93a37-5109-479f-8b5e-a43e46ba50ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/e6b93a37-5109-479f-8b5e-a43e46ba50ba', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=ffe46b72-058b-4d5c-8c84-5c26e61fa487 {} GOT:{'node': {'uuid': 'ffe46b72-058b-4d5c-8c84-5c26e61fa487', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/ffe46b72-058b-4d5c-8c84-5c26e61fa487', 'rel': 'self'}, {'href': 'http://localhost/nodes/ffe46b72-058b-4d5c-8c84-5c26e61fa487', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=16bfa761-babf-453a-a9d2-835c8cfa78ad {} GOT:{'node': {'uuid': '16bfa761-babf-453a-a9d2-835c8cfa78ad', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/16bfa761-babf-453a-a9d2-835c8cfa78ad', 'rel': 'self'}, {'href': 'http://localhost/nodes/16bfa761-babf-453a-a9d2-835c8cfa78ad', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/volume/ {} GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} GET: /v1/volume/ {} GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} GET: /volume/ {} GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} GET: /v1/volume/connectors {} GOT:{'connectors': []} GET: /volume/connectors {} GOT:{'connectors': []} GET: /v1/volume/targets {} GOT:{'targets': []} GET: /volume/targets {} GOT:{'targets': []} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.059239s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.064128s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.072926s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.030989s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.012456s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.012135s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.025832s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.011053s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.011064s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.011722s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.010905s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.043008s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.013555s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.014364s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.011528s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.034426s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.012816s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e3747390-6671-45c2-9218-f31b0b964445 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:35.785853+00:00", "updated_at": "2024-09-07T17:17:35.798652+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "f182bb16-1feb-4f62-9009-1e9ca082b478"} 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-df1535bc-ddfc-40aa-b4b1-38d0ebe58337 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/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-3264344e-0787-41b2-b566-df4c521fe6ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} PATCH: /v1/ports/49cba159-4399-4f3e-858a-7ea2cd3be7b8 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-50c7dca7-7b12-475b-8e62-bef9337675f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 49cba159-4399-4f3e-858a-7ea2cd3be7b8 could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-144d03a9-0d68-4441-bc31-ca299cd496f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 1234, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dcfe9caf-8a21-457f-a961-538e7023c829 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null'\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'zz:zz:zz:zz:zz:zz', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7f25c2c-3381-4fd3-a721-b7bd5e4c1b10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-349cb784-6cae-45ae-836e-e108ba11d619 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.171504+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0ff8da25-8fe7-4100-8abd-87cf180f6bf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6d650bd5-25a8-49eb-80c4-09c9a19f5fdb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.242900+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.075403s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.012748s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.076442s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.012459s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.047906s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.019276s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.054947s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d9ab524-533b-4be9-838d-d79199dcbf1c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:35.894842+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-883b9119-2d3f-4cc9-82b2-8c54351ead30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4fdad69d-84b4-4247-808d-c370d92d3985 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:36.022433+00:00", "updated_at": "2024-09-07T17:17:36.025967+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5755b024-397e-4353-a849-d50fc2a2a8f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:36.022433+00:00", "updated_at": "2024-09-07T17:17:36.025967+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-6f13a771-f8e9-4605-abe9-fa52898ad4d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} 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-198b730a-d348-4b13-8277-5a0a89167674 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eac38c64-8d0f-400a-9e0c-e3138173d825 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:36.223635+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/portgroups/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-4dcedf91-5c64-46a3-bd32-48a6446a368a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:36.282972+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "802.3ad", "name": "pg.1", "properties": {"bond_param": "100"}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'add', 'value': '802.3ad'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-acd66114-2ba3-4074-9d35-e9652e7129ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'op': 'add', 'value': 123}] {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.052874s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.012464s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.119233s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.011884s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.036513s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.011773s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.040741s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.011846s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.036742s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.011803s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.022499s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.039410s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.011868s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.014716s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.029020s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.014560s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.032917s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.039408s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.011664s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.026150s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.018811s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.041724s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.017124s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.038873s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.015882s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.012276s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.028422s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.011800s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.024151s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.020923s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.065196s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f69d3039-e02a-4a2a-8677-9766c0f1f7a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/volume/connectors?node=test-node {} GOT:{'connectors': [{'uuid': '17e01d3e-c4c8-4c77-8b8b-9f0d6a7900b8', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/17e01d3e-c4c8-4c77-8b8b-9f0d6a7900b8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/17e01d3e-c4c8-4c77-8b8b-9f0d6a7900b8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '97193a32-fa4a-40dd-b9d7-cac4a23e340e', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/97193a32-fa4a-40dd-b9d7-cac4a23e340e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/97193a32-fa4a-40dd-b9d7-cac4a23e340e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '68ebb4be-c582-4ad0-bc2b-9a2ef56e8fd2', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/68ebb4be-c582-4ad0-bc2b-9a2ef56e8fd2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/68ebb4be-c582-4ad0-bc2b-9a2ef56e8fd2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors?sort_key=uuid {} GOT:{'connectors': [{'uuid': '417bfd3a-50f7-4e58-ad90-08d0fd94767b', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/417bfd3a-50f7-4e58-ad90-08d0fd94767b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/417bfd3a-50f7-4e58-ad90-08d0fd94767b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '781273a9-f25b-4da0-9222-5a41f828969d', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/781273a9-f25b-4da0-9222-5a41f828969d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/781273a9-f25b-4da0-9222-5a41f828969d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '92a3c45a-3e37-4308-a2a4-493922c597a1', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/92a3c45a-3e37-4308-a2a4-493922c597a1', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/92a3c45a-3e37-4308-a2a4-493922c597a1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-0892c631-7257-422d-b9ea-e3f9fb6fd215 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab51e877-9e08-4f33-8560-a0b5fffb5a79 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.416131+00:00", "updated_at": "2024-09-07T17:17:36.419355+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-9238bc95-a7ad-4b3e-b39b-27dc86ccdb59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.416131+00:00", "updated_at": "2024-09-07T17:17:36.419355+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-9cc66f5a-8308-468e-a097-a9fabd7a162a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-1971863a-07c3-451f-a7e7-14053a0b0448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.501666+00:00", "updated_at": "2024-09-07T17:17:36.504400+00:00", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-2556c646-d0ba-4458-bfd0-3bb6261e638f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.543755+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.056253s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.014257s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.013441s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.073938s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.014325s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.019366s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.033125s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.064787s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.013272s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a64d2a7e-bf75-4d60-912d-a6ae587a68c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-55f21782-6097-4185-a9ba-afbeb0a46714 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:36.423314+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:36.423314+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb6f4284-c954-4648-9c0a-94467baa3c50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-262a05e3-1adb-46e4-a576-daabbc6c3bbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:36.532127+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "802.3ad", "name": "fooname", "properties": {"bond_prop": 123}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-112aa740-d871-4a58-8e1f-c5413b33f65e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-dcf4becd-3676-40d1-b197-002d90d96e76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-46b2d102-5a7c-4fc4-be23-4c8cec45c2bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-b0b3666e-7f41-4bdf-91c4-62cbc170f21f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.012239s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.048352s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.031432s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.054306s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_missing_local_link_mandatory_key [0.012646s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.012487s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.053526s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.027813s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.019569s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.013574s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.051986s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.028744s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.023532s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.011913s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.011973s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.011826s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.035834s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.034456s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.011139s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.011124s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.026524s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.033803s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.017463s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.037013s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-73d2dd7d-8409-48c7-8c65-6e90ce490348 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.298806+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-76881cac-3602-4506-a178-fe4e9c20ddd0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c011898e-80f6-49e7-bfee-61861eed2877 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.448551+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f08d5677-1012-454c-b6bf-c6016eb9e2aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.490609+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?detail=True {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:36.543941+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=False {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c5c76c83-7910-47cf-be68-1cf724964c2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/portgroups?detail=False&fields=internal_info {} GOT:{'portgroups': [{'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52877922-7ce6-4980-9213-f6e9fbab9ba1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.054240s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.046380s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.083387s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.034178s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.040692s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.028926s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e49fc8ab-1d0b-478e-b08f-68b2cadb80ea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.586077+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ac5d6666-f7ab-4f46-b363-e72873461fd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.671787+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": 123}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:36.671787+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e882673-226e-42bc-8c7f-4285f7573475 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b6c1ee8b-2c6b-4249-9bfc-241bbeea868e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-595b5b66-c4fc-479e-90cc-f5d841cff93f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.792211+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:36.792211+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-5ccb552b-cd18-4c1c-9743-c082639ccf81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:36.837574+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': '4ce31881-5a49-4319-9015-38ee5ee79e38', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/4ce31881-5a49-4319-9015-38ee5ee79e38', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4ce31881-5a49-4319-9015-38ee5ee79e38', 'rel': 'bookmark'}]}, {'uuid': 'c792bfd7-0b28-4c90-8c3f-ed3727c1eb2b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/c792bfd7-0b28-4c90-8c3f-ed3727c1eb2b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c792bfd7-0b28-4c90-8c3f-ed3727c1eb2b', 'rel': 'bookmark'}]}, {'uuid': '79a5f084-35b3-4df4-9ce6-c4219d0408b7', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/79a5f084-35b3-4df4-9ce6-c4219d0408b7', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/79a5f084-35b3-4df4-9ce6-c4219d0408b7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=79a5f084-35b3-4df4-9ce6-c4219d0408b7'} GET: /v1/volume/targets?detail=True&node=test-node {} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.052707s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.053910s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.028734s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.046093s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.017521s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.034373s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.011575s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.011215s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.010663s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.013783s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.044140s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.011416s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.064920s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.011472s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.011189s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aa1e73c4-f831-461b-902a-ba5468cee817 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'invalid_state', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1887cb1b-3e1c-4f4e-a456-a088b4a81847 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-a0576013-c26c-4842-adaa-08c1ebb1f73f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': 'start', 'agent_status_message': 'woof', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-8833755f-990f-4ef6-a586-4c7f55b1e0f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-2f390566-f465-45d4-8ddf-b2ac6c99dc69 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-25d4f50f-b610-4196-a1f5-125dc9a162d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT:Response: 202 Accepted Openstack-Request-Id: req-c64e1e1d-c8fb-479d-8616-ce98dbf2f9b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-4f481137-6870-44f2-b899-becf60201de5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6495e376-a1a9-4c1e-9de6-4afd8fa17c02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} POST: /v1/heartbeat/55329dd5-3e6f-42e2-9944-d195d34a9cf2 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-491bd365-041c-4ce9-a3dd-738298ce12c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=not-a-valid-address,80:00:02:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:54:06:c2,11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': 'ae5d3eca-8796-4f08-9e93-6b836eb2b0e5', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/ae5d3eca-8796-4f08-9e93-6b836eb2b0e5', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae5d3eca-8796-4f08-9e93-6b836eb2b0e5', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=8fbb995a-2096-4555-814d-0e7fb30ee49c {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d398d7b6-46d3-48f9-afee-fa4929ac302b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=not-a-valid-address,80:00:02:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:54:06:c2,11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': '64dc8828-3b8f-4e70-9dcb-901c1662bed7', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/64dc8828-3b8f-4e70-9dcb-901c1662bed7', 'rel': 'self'}, {'href': 'http://localhost/nodes/64dc8828-3b8f-4e70-9dcb-901c1662bed7', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '123456', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=ae503595-6c8a-435d-b930-aae72a13da38 {} GOT:{'node': {'uuid': 'ae503595-6c8a-435d-b930-aae72a13da38', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/ae503595-6c8a-435d-b930-aae72a13da38', 'rel': 'self'}, {'href': 'http://localhost/nodes/ae503595-6c8a-435d-b930-aae72a13da38', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': '234567890', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e448a0b4-3711-4500-90b5-1b447fe41d62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/volume/connectors?fields=uuid,extra {} {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.193561s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.037174s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.032402s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.025102s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.052915s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.052233s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.015445s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.024971s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.012337s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.032350s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.021316s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.013217s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.040673s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.013311s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.028940s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.038683s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.031473s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.015209s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.011976s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.015539s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.035204s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.044763s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.017216s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.026765s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.019260s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.031121s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.017946s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.031435s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.025519s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.035155s] ... ok GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:36.840188+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'pg.json', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': 'c859b676-8c82-4eff-8a1c-ebb901658235', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/c859b676-8c82-4eff-8a1c-ebb901658235', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c859b676-8c82-4eff-8a1c-ebb901658235', 'rel': 'bookmark'}]}, {'uuid': '975b3d67-5b90-4481-b67c-a27c8f2b5b98', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/975b3d67-5b90-4481-b67c-a27c8f2b5b98', 'rel': 'self'}, {'href': 'http://localhost/portgroups/975b3d67-5b90-4481-b67c-a27c8f2b5b98', 'rel': 'bookmark'}]}, {'uuid': '3f85ffa1-72b9-4934-a79c-3b475ef38e68', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/3f85ffa1-72b9-4934-a79c-3b475ef38e68', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3f85ffa1-72b9-4934-a79c-3b475ef38e68', 'rel': 'bookmark'}]}, {'uuid': '0656e08d-0c7f-440c-bf7c-94417393a9a8', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/0656e08d-0c7f-440c-bf7c-94417393a9a8', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0656e08d-0c7f-440c-bf7c-94417393a9a8', 'rel': 'bookmark'}]}, {'uuid': 'f70b0e94-486d-4a07-8049-db230d58d769', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/f70b0e94-486d-4a07-8049-db230d58d769', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f70b0e94-486d-4a07-8049-db230d58d769', 'rel': 'bookmark'}]}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/10ed3628-f447-49ba-9366-e8bcf7051445/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d29bda29-92bd-476c-8830-f19bbdf3efa9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.068811+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-6dd93495-630b-44e4-ae6c-d280c6411155 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/foo1', 'value': 'bar1x', 'op': 'replace'}, {'path': '/extra/foo2', 'value': 'bar2x', 'op': 'replace'}, {'path': '/extra/foo3', 'value': 'bar3x', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d87dda5-e1af-4a10-b13f-925a9a1cae7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.180783+00:00", "updated_at": "2024-09-07T17:17:37.183783+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-b8ab796e-ed96-46d2-a1b4-63f4d6345b64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.214662+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} PATCH: /v1/portgroups/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.095715s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.026724s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.025534s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.069813s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.020042s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.016488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.012822s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.012037s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.017558s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.012245s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.073830s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.012721s] ... ok GOT:{'connectors': [{'uuid': '5c4f6696-dfc2-4bac-9969-f6b3e65862e1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/5c4f6696-dfc2-4bac-9969-f6b3e65862e1', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5c4f6696-dfc2-4bac-9969-f6b3e65862e1', 'rel': 'bookmark'}]}, {'uuid': 'dc9e0b54-1ca9-4e77-8e80-1dd1bf7c1109', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/dc9e0b54-1ca9-4e77-8e80-1dd1bf7c1109', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/dc9e0b54-1ca9-4e77-8e80-1dd1bf7c1109', 'rel': 'bookmark'}]}, {'uuid': 'fc4faf96-2eb5-46dc-8c26-1250edf70325', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/fc4faf96-2eb5-46dc-8c26-1250edf70325', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/fc4faf96-2eb5-46dc-8c26-1250edf70325', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=fc4faf96-2eb5-46dc-8c26-1250edf70325'} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '1eb78e6c-5331-4158-8715-1087bd7985b5', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1eb78e6c-5331-4158-8715-1087bd7985b5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1eb78e6c-5331-4158-8715-1087bd7985b5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ebddacf2-b202-4ffe-b6f4-a086666a0843', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ebddacf2-b202-4ffe-b6f4-a086666a0843', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ebddacf2-b202-4ffe-b6f4-a086666a0843', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '1503ed8b-8081-4aa2-ab35-16f5fd0667af', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1503ed8b-8081-4aa2-ab35-16f5fd0667af', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1503ed8b-8081-4aa2-ab35-16f5fd0667af', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=1503ed8b-8081-4aa2-ab35-16f5fd0667af'} GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{'connectors': [{'uuid': '4e1f1b1a-5fee-4fcb-ade6-4593405a9d7f', 'created_at': '2024-09-07T17:17:37.132529+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4e1f1b1a-5fee-4fcb-ade6-4593405a9d7f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4e1f1b1a-5fee-4fcb-ade6-4593405a9d7f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '3eee2a0d-b6d5-4e8c-9fa4-62ffaf35c40f', 'created_at': '2024-09-07T17:17:37.133372+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/3eee2a0d-b6d5-4e8c-9fa4-62ffaf35c40f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3eee2a0d-b6d5-4e8c-9fa4-62ffaf35c40f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6039cef9-452b-4fd0-bb99-8466df5b8212', 'created_at': '2024-09-07T17:17:37.134142+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/6039cef9-452b-4fd0-bb99-8466df5b8212', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6039cef9-452b-4fd0-bb99-8466df5b8212', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=6039cef9-452b-4fd0-bb99-8466df5b8212'} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f85a361d-8df4-467f-81d4-6e0604e064d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors?fields=connector_id&limit=2 {} GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/1f19c18a-65ad-4da1-a19c-1d3bfb12a219', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1f19c18a-65ad-4da1-a19c-1d3bfb12a219', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/4360476e-c768-495d-8727-0211507d73fc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4360476e-c768-495d-8727-0211507d73fc', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=4360476e-c768-495d-8727-0211507d73fc'} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-797c0abe-2076-49b7-b10e-a8a408232ad9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} GOT:{'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5593374-7823-40bc-8f8a-aca0d16b7171 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/volume/connectors?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7698e1e0-854a-412b-924d-8544a352ee46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1cf836d-650a-44dd-b40b-59af51a77578 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.040994s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.028401s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.022315s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.033537s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.015695s] ... ok GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:36.940704+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets {} GOT:{'targets': []} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:37.038010+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '675b9f8f-0020-4ee8-939c-10ed05d4912f', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/675b9f8f-0020-4ee8-939c-10ed05d4912f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/675b9f8f-0020-4ee8-939c-10ed05d4912f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f157bf32-b7fd-4b46-a689-cc31466082bc', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f157bf32-b7fd-4b46-a689-cc31466082bc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f157bf32-b7fd-4b46-a689-cc31466082bc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '22e0d7c6-0501-4ce3-af57-01a22d180083', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/22e0d7c6-0501-4ce3-af57-01a22d180083', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/22e0d7c6-0501-4ce3-af57-01a22d180083', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7de36a81-d11d-4695-ba14-69826c542705', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7de36a81-d11d-4695-ba14-69826c542705', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7de36a81-d11d-4695-ba14-69826c542705', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fccfee24-a26b-4f6c-ab8c-ae1371247335', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fccfee24-a26b-4f6c-ab8c-ae1371247335', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fccfee24-a26b-4f6c-ab8c-ae1371247335', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-f5ad6446-338d-4afe-a5a1-e34a24224a32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:37.122929+00:00", "updated_at": "2024-09-07T17:17:37.126396+00:00", "boot_index": 0, "extra": {"foo2": "bar2", "foo3": "bar3"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-e85e911c-5ad5-4b1a-8597-da487c9b7c0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:37.122929+00:00", "updated_at": "2024-09-07T17:17:37.126396+00:00", "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-3d0e818f-3335-4928-890e-eca673b70173 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 0, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea892c9c-1eba-4a5a-bc88-4a0ec8a05070 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cdf01005-8919-4c72-a20a-c9e2f7b16696 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8e49bef7-0f54-452c-a65c-ede8688e94ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.108311s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.015904s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.044817s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.029371s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.114271s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.021474s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.013151s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.026088s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.038016s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.037130s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.016521s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.027363s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.028775s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.018869s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.023002s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.014232s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.023293s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.012169s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00006_public_api_v1 [0.032989s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.036658s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.012931s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.012544s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.029683s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.012639s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.020867s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.013310s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.015011s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.013762s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.079080s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.013122s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ec899f37-e811-4334-bd50-ee14ef6deac8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.286255+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} 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-9f180000-af1a-4a0e-b987-d59fd909e8c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/internal_info', 'value': False, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c9f0a764-697c-4762-aa65-d5258abb4407 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /internal_info. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-83d5e998-cf6f-42fd-9525-530d5af3f307 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'aa:bb_cc', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-911b22e0-2815-4760-8537-032f19e59c7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-28ae7a03-51f9-4a2a-9ee4-d8bab81d0039 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.607377+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:37.607377+00:00', 'updated_at': None, 'address': 'aa:aa:aa:11:22:33', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'foo', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.058644s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.060237s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.015027s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.033061s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.014465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.024647s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/targets {'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/7dd6a6cc-943f-402d-8ad3-c40c3dfd46db Openstack-Request-Id: req-886db82a-da78-4922-9f09-7741a142cbfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7dd6a6cc-943f-402d-8ad3-c40c3dfd46db", "created_at": "2024-09-07T17:17:37.505202+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/7dd6a6cc-943f-402d-8ad3-c40c3dfd46db", "rel": "self"}, {"href": "http://localhost/volume/targets/7dd6a6cc-943f-402d-8ad3-c40c3dfd46db", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/7dd6a6cc-943f-402d-8ad3-c40c3dfd46db {} GOT:{'uuid': '7dd6a6cc-943f-402d-8ad3-c40c3dfd46db', 'created_at': '2024-09-07T17:17:37.505202+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7dd6a6cc-943f-402d-8ad3-c40c3dfd46db', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7dd6a6cc-943f-402d-8ad3-c40c3dfd46db', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2444c11e-5c78-4b9c-8e69-3226a3114815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0747458d-2a66-46b7-a222-146cb21df046 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property\", \"debuginfo\": null}"} API ACL Testing Path get /v1 GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7513d12-c4be-4573-b831-8d8e6cf7a2ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7513d12-c4be-4573-b831-8d8e6cf7a2ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00009_nodes_get_admin [0.084296s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.037910s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.106136s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.057431s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.047663s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.025641s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00023_nodes_validate_get_admin [0.055828s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.056926s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-3348d6dd-2026-4fb4-861e-438df0624a39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4e223c1-af8f-4212-847f-ba523c42bd38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT:Response: 202 Accepted Openstack-Request-Id: req-4b0ef124-4c98-43dd-870d-95cd556f292c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-164f6437-93db-45cc-a314-bfcaeda15313 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.71 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} GET: /v1/lookup?node_uuid=aed95ef1-6162-4875-b51a-c6d8a05b3329 {} GOT:{'node': {'uuid': 'aed95ef1-6162-4875-b51a-c6d8a05b3329', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/aed95ef1-6162-4875-b51a-c6d8a05b3329', 'rel': 'self'}, {'href': 'http://localhost/nodes/aed95ef1-6162-4875-b51a-c6d8a05b3329', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} 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-b0f1a26f-5fca-43c7-8cc0-57de72501ffb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': 'f29854fd-7d06-4f2c-a076-10c53459732f', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/f29854fd-7d06-4f2c-a076-10c53459732f', 'rel': 'self'}, {'href': 'http://localhost/nodes/f29854fd-7d06-4f2c-a076-10c53459732f', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?node_uuid=f0910d58-0cc5-45bd-9039-652c85913672 {} GOT:{'node': {'uuid': 'f0910d58-0cc5-45bd-9039-652c85913672', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/f0910d58-0cc5-45bd-9039-652c85913672', 'rel': 'self'}, {'href': 'http://localhost/nodes/f0910d58-0cc5-45bd-9039-652c85913672', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'xyzabc', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} 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-56f93790-f478-4324-a32a-63b1447b415b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} 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-725a412c-d5a2-4761-b556-eeb290aab138 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors?detail=True&node=test-node {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00024_nodes_validate_get_member [0.063819s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.044967s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.071975s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e03f46c-d004-4c28-92fe-50e524ab2b27 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:37.388118+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-d30d999a-227b-40ca-8890-0232e95ea02e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c1247568-6578-4191-840c-3ecf6cae3873 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string'\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-153b3b1a-4e9a-4ecd-be6b-5cc7ac99187f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:37.485131+00:00", "updated_at": null, "connector_id": "test-connector-id-456", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/volume/connectors {'uuid': 'edb5d5bb-0b0b-4cac-9c37-490a83bda436', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d5568837-ebc6-4d04-8b79-f0dc8e8b5f28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-a3806b4f-8468-4055-b7c8-f58b7ae8ed35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1a365e42-8192-4976-be38-4e0bdf6868bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-006d4f4d-3a5c-4d76-a00c-691197cb7dbe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True&fields=boot_index,extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4cdc5d64-e42b-41f3-ba6e-27e63b4e334b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c9358862-cb03-4932-b339-2437ad26e438 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} GET: /v1/volume/targets?node=test-node {} GOT:{'targets': [{'uuid': 'a3a6bf08-c589-4285-a1da-8eca2f017623', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a3a6bf08-c589-4285-a1da-8eca2f017623', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a3a6bf08-c589-4285-a1da-8eca2f017623', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ab815d4a-ff7a-4f29-bae6-2e3fa3aab80b', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/ab815d4a-ff7a-4f29-bae6-2e3fa3aab80b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ab815d4a-ff7a-4f29-bae6-2e3fa3aab80b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b7935bb9-26c2-493c-b017-e390cabfff00', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/b7935bb9-26c2-493c-b017-e390cabfff00', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b7935bb9-26c2-493c-b017-e390cabfff00', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-863966b0-5bc4-40e3-9642-95bc21ab2573 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:37.787230+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.034804s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.031327s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.036467s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.051006s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.038971s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.018697s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.066342s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.031615s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.060680s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.038625s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.027604s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.040679s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.027222s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.030994s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00044_nodes_states_get_admin [0.066731s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.035867s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.031790s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.022355s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00004_project_member_cannot_get_node [0.033331s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.032958s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.040235s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-6fbcd132-eecf-4f1c-b853-a9ad09d85fb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.643533+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-09-07T17:17:37.643533+00:00', 'updated_at': None, 'address': None, 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a3ace559-ac09-438c-a23c-04f0fcbd3582 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ac39ebe-c89e-43d4-b775-da641145f58a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-118a0725-f881-4b0b-8a19-ddcdfe3bcea2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:37.803251+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-394ce100-bd7e-4456-b689-f1612d8358b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT:Response: 202 Accepted Openstack-Request-Id: req-7f347a9c-1e2c-4cfd-852a-cf269fd6d79c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-78eb3b18-dea6-4355-bae1-81ffa5bdc21d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.71 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} POST: /v1/heartbeat/3883f5fa-bda2-43c9-a8b5-22641871a729 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c6206709-50b7-4263-9998-035dd3f7cfb9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=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-3e8607a8-5c4f-40a2-b1dc-4c682d61f8ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-70e1a59e-591f-4635-bbcb-98690c9a8086 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e5232849-7de1-45f2-a63c-5804542648f8 {} GOT:{'node': {'uuid': 'e5232849-7de1-45f2-a63c-5804542648f8', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/e5232849-7de1-45f2-a63c-5804542648f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/e5232849-7de1-45f2-a63c-5804542648f8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e5232849-7de1-45f2-a63c-5804542648f8 {} {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.057834s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.092926s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.037992s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.029521s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51fdea1b-5da6-4bea-a4f7-bc470422b2c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": 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"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "d5d12a3b-f7d0-41fe-856c-8e7256a81262", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51fdea1b-5da6-4bea-a4f7-bc470422b2c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": 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"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "d5d12a3b-f7d0-41fe-856c-8e7256a81262", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-60b5d3a1-d6c8-42dc-b851-1b4bf4e515b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-60b5d3a1-d6c8-42dc-b851-1b4bf4e515b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-58fa30bc-ab4c-45b0-9570-865334bdfb1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-58fa30bc-ab4c-45b0-9570-865334bdfb1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6a43c9e9-6a19-4a9e-9aab-9a7da2b73497 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6a43c9e9-6a19-4a9e-9aab-9a7da2b73497 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-89efcaac-9a4b-4eb4-9979-1181af49fbe8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-89efcaac-9a4b-4eb4-9979-1181af49fbe8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c233502-f932-4367-94b2-b88c475606cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c233502-f932-4367-94b2-b88c475606cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00045_nodes_states_get_member [0.058801s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89f7fcef-c48b-416e-92c6-d1ea6ee374ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} 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-eb79bbd9-2dc4-4824-9d15-8acdda195e62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-805def89-c125-4de4-ba05-90802fc1ca93 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0aa42d3-44fe-41db-98e5-125758e155b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:37.952102+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-7f531167-e9de-439b-9bd5-4dfcdb690ec3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:38.004109+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": "bar"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8f142284-c114-419a-ad2b-ca77f0b58a9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:38.045218+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": 123}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:38.045218+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {'foo': 123}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3a27a6e9-9ddb-4777-960d-142d2d65293c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string'\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-901b1c52-55eb-44cc-ad7b-f314b1434429 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-901b1c52-55eb-44cc-ad7b-f314b1434429 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ GET: /v1/ {} {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00007_public_api_v1_slash [0.025127s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00009_public_api_v1_xml [0.024774s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.128059s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.062793s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00003_nodes_post_member [0.087869s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.026698s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.054520s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.059112s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.035313s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.037283s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.054335s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.065637s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.026474s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.022944s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.074640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.033507s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.023644s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.030200s] ... ok GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:37.824918+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors?detail=False {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors {} GOT:{'connectors': []} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'fca6a6e2-3664-46e4-bcdd-8b8d9a616adb', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/fca6a6e2-3664-46e4-bcdd-8b8d9a616adb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/fca6a6e2-3664-46e4-bcdd-8b8d9a616adb', 'rel': 'bookmark'}]}, {'uuid': 'b4c4854d-00c8-403d-b21b-abb5835c49eb', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b4c4854d-00c8-403d-b21b-abb5835c49eb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b4c4854d-00c8-403d-b21b-abb5835c49eb', 'rel': 'bookmark'}]}, {'uuid': 'b4b2136b-cdd7-4201-a953-78f8865877e8', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b4b2136b-cdd7-4201-a953-78f8865877e8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b4b2136b-cdd7-4201-a953-78f8865877e8', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:38.004298+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-13e8d84b-530b-48f7-9ca4-1097c73c3c05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} 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-769cc1a9-b7ed-44ee-beb4-5b17d8ae1428 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-591dec4a-c16e-46f1-9c75-a00ae1b8367e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets/?limit=3 {} GOT:{'targets': [{'uuid': '8b864283-063c-4763-8c51-a0d7de51a84f', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/8b864283-063c-4763-8c51-a0d7de51a84f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8b864283-063c-4763-8c51-a0d7de51a84f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e3efd33a-dc3a-49cf-ad25-f4e4be82019c', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e3efd33a-dc3a-49cf-ad25-f4e4be82019c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e3efd33a-dc3a-49cf-ad25-f4e4be82019c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b97b256e-6889-4ec4-bd97-da5e5fb16968', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/b97b256e-6889-4ec4-bd97-da5e5fb16968', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b97b256e-6889-4ec4-bd97-da5e5fb16968', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=b97b256e-6889-4ec4-bd97-da5e5fb16968'} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '1d73db37-f3c2-4a0d-a143-e875ab334dda', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1d73db37-f3c2-4a0d-a143-e875ab334dda', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1d73db37-f3c2-4a0d-a143-e875ab334dda', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f31cf730-3ebf-40ee-9525-2b9f3364cf31', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/f31cf730-3ebf-40ee-9525-2b9f3364cf31', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f31cf730-3ebf-40ee-9525-2b9f3364cf31', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'af4a6530-fcf0-45db-97af-30685c2d2634', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/af4a6530-fcf0-45db-97af-30685c2d2634', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/af4a6530-fcf0-45db-97af-30685c2d2634', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=af4a6530-fcf0-45db-97af-30685c2d2634'} GET: /v1/volume/targets?fields=uuid,extra {} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.037389s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b7a7672-9a19-4f43-b058-4c602026fe59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b7a7672-9a19-4f43-b058-4c602026fe59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} API ACL Testing Path get /v1.xml GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-525c095e-dc77-455b-bd4d-1247759eb689 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-525c095e-dc77-455b-bd4d-1247759eb689 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5f72795-de73-42c5-a382-4723de795768 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:38.269671+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:17:38.271878+00:00", "updated_at": "2024-09-07T17:17:38.275064+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "f54fc8f5-62d8-406e-9a6d-50779431f499", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "f54fc8f5-62d8-406e-9a6d-50779431f499", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:17:38.286128+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5f72795-de73-42c5-a382-4723de795768 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:38.269671+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:17:38.271878+00:00", "updated_at": "2024-09-07T17:17:38.275064+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "f54fc8f5-62d8-406e-9a6d-50779431f499", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "f54fc8f5-62d8-406e-9a6d-50779431f499", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:17:38.286128+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00011_nodes_detail_get_admin [0.056865s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.124667s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.034890s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.086672s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00063_nodes_states_console_get_member [0.123567s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.029609s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.027373s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.065365s] ... ok API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e870b6f-a311-42a8-bddd-1df4c8b76085 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:38.335738+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:17:38.337973+00:00", "updated_at": "2024-09-07T17:17:38.341038+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "d3246876-27d9-4ba5-a839-f868bcada3ef", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "d3246876-27d9-4ba5-a839-f868bcada3ef", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:17:38.352041+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e870b6f-a311-42a8-bddd-1df4c8b76085 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:38.335738+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:17:38.337973+00:00", "updated_at": "2024-09-07T17:17:38.341038+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "d3246876-27d9-4ba5-a839-f868bcada3ef", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "d3246876-27d9-4ba5-a839-f868bcada3ef", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:17:38.352041+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00013_nodes_detail_get_observer [0.072017s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.060804s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.053345s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.056686s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.034360s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.035022s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.029662s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4bbd2b10-ac5b-4c6c-9546-e743741601fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:38.399100+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4bbd2b10-ac5b-4c6c-9546-e743741601fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:38.399100+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5e818439-bd84-4870-a964-cc322c67a3c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5e818439-bd84-4870-a964-cc322c67a3c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a3778640-c0a9-4f2e-b866-d85dab1bd81b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a3778640-c0a9-4f2e-b866-d85dab1bd81b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00027_nodes_maintenance_put_member [0.059943s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.053169s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.120323s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.029706s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.044819s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.050083s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.023650s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.020582s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.014941s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.047979s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.078267s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.014675s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.065510s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.012740s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.029967s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.012401s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.012497s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.012456s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.012940s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.013759s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.012371s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.082247s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.012926s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.013016s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac46986b-ec7c-4f5e-addb-31f7accf8e0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac46986b-ec7c-4f5e-addb-31f7accf8e0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac6ab2c9-4b95-4f36-a030-de3b649aeaf3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac6ab2c9-4b95-4f36-a030-de3b649aeaf3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1a18ba2f-fd73-4e8d-935d-344c820df121 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1a18ba2f-fd73-4e8d-935d-344c820df121 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4202f50c-dc48-4b39-9646-102fcb38bf17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4202f50c-dc48-4b39-9646-102fcb38bf17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3ad896e6-9d62-426e-927c-519eeb0123c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3ad896e6-9d62-426e-927c-519eeb0123c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e16168e-a38c-4704-92a9-e6a06410db62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e16168e-a38c-4704-92a9-e6a06410db62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-167ae0b8-94dd-40e8-9b74-b2ebe0f1f8ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-167ae0b8-94dd-40e8-9b74-b2ebe0f1f8ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9801677b-a248-4547-9ec0-8315b4047463 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9801677b-a248-4547-9ec0-8315b4047463 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.070284s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.020251s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.015867s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.062380s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.027285s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00083_nodes_traits_get_member [0.123657s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.021617s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.058478s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.022048s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.214045s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.033876s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.036153s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00084_nodes_traits_get_observer [0.075179s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.064465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.032781s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.035621s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.018706s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.019997s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00086_nodes_traits_put_member [0.067026s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.013722s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.014206s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.012656s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.016351s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.015332s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.011747s] ... ok GOT:{'targets': [{'uuid': '7f9d26c2-6134-409e-857b-74ef66a99883', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/7f9d26c2-6134-409e-857b-74ef66a99883', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7f9d26c2-6134-409e-857b-74ef66a99883', 'rel': 'bookmark'}]}, {'uuid': 'a72f18bf-9aa0-4697-b667-e4bbdeddf4fc', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a72f18bf-9aa0-4697-b667-e4bbdeddf4fc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a72f18bf-9aa0-4697-b667-e4bbdeddf4fc', 'rel': 'bookmark'}]}, {'uuid': '063df909-04f0-4719-99f0-633aa1c133a0', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/063df909-04f0-4719-99f0-633aa1c133a0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/063df909-04f0-4719-99f0-633aa1c133a0', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets?fields=boot_index&limit=2 {} GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/462c9030-f22a-4a94-b10b-424d8cc1075c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/462c9030-f22a-4a94-b10b-424d8cc1075c', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/884e1c56-3529-49b1-9aca-85dc815d2344', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/884e1c56-3529-49b1-9aca-85dc815d2344', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=884e1c56-3529-49b1-9aca-85dc815d2344'} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{'boot_index': 0, 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/targets/0c403715-3e57-41df-a971-73965321265c {} GOT:{'uuid': '0c403715-3e57-41df-a971-73965321265c', 'created_at': '2024-09-07T17:17:38.594939+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0c403715-3e57-41df-a971-73965321265c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0c403715-3e57-41df-a971-73965321265c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets/0c403715-3e57-41df-a971-73965321265c {} GOT:{'uuid': '0c403715-3e57-41df-a971-73965321265c', 'created_at': '2024-09-07T17:17:38.594939+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0c403715-3e57-41df-a971-73965321265c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0c403715-3e57-41df-a971-73965321265c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/targets/0c403715-3e57-41df-a971-73965321265c {} GOT:{'uuid': '0c403715-3e57-41df-a971-73965321265c', 'created_at': '2024-09-07T17:17:38.594939+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/0c403715-3e57-41df-a971-73965321265c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0c403715-3e57-41df-a971-73965321265c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/targets?sort_key=uuid {} GOT:{'targets': [{'uuid': '068bfffa-b990-4814-bf43-6f571e032e56', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/068bfffa-b990-4814-bf43-6f571e032e56', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/068bfffa-b990-4814-bf43-6f571e032e56', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '989b9bfe-78eb-4b07-91e8-d2aa6d039e7c', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/989b9bfe-78eb-4b07-91e8-d2aa6d039e7c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/989b9bfe-78eb-4b07-91e8-d2aa6d039e7c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e9160869-217f-4c4d-ad13-aee8e7b7c332', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/e9160869-217f-4c4d-ad13-aee8e7b7c332', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e9160869-217f-4c4d-ad13-aee8e7b7c332', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-976fde76-c14a-4448-94f4-c8477505de2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df3c9b55-b3cb-402c-8065-8dae1ca9be6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e0e5762-f353-4d9f-850e-d0de3c3e4c74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-64497969-5eef-423e-8527-5828805a667c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-35f2bf69-9926-4b93-8c50-d09b4bda09ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1aa8044c-00c8-4218-b2c3-28cf5722598e [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b2eab153-61d0-49c3-a663-a7f9364e7edd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1aa8044c-00c8-4218-b2c3-28cf5722598e could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.049938s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.067404s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f48e9458-f509-486d-a329-371fc754ff3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f48e9458-f509-486d-a329-371fc754ff3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5feeca93-de3a-4dbf-9307-f64cd65baa1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5feeca93-de3a-4dbf-9307-f64cd65baa1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6dbee19d-62b2-42e5-9e5f-3ed610868c76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6dbee19d-62b2-42e5-9e5f-3ed610868c76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76b5e22b-2302-48f1-a678-2a1202bd05bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76b5e22b-2302-48f1-a678-2a1202bd05bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d9010ccc-cf6e-43f7-8727-6309fa0590f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d9010ccc-cf6e-43f7-8727-6309fa0590f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-19c73e28-0de4-4e8a-aec0-729e6e3c8f9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-19c73e28-0de4-4e8a-aec0-729e6e3c8f9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa8ea002-0101-4ceb-99cd-caf37e0cd5fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aa8ea002-0101-4ceb-99cd-caf37e0cd5fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cb2e3741-0162-4f37-ae7b-fb4b126f5b9e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cb2e3741-0162-4f37-ae7b-fb4b126f5b9e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00048_nodes_states_power_put_member [0.057527s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.016853s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00049_nodes_states_power_put_observer [0.056005s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.017065s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00062_nodes_states_console_get_admin [0.061716s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.035355s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.016745s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00089_nodes_traits_delete_member [0.130180s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.013213s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00008_public_api_v1_json [0.027237s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.016927s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.052724s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00064_nodes_states_console_put_admin [0.067178s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.042773s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.032766s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.056922s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.082036s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.052299s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.052983s] ... ok POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ed82c2de-acbd-4767-a2aa-af6c6371fc64 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1143e852-ed66-47bd-9f94-6ff203c57270 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-aaa978e5-74ee-4f0b-b3b0-136bd0d2e4a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:39.215765+00:00", "updated_at": null, "boot_index": 0, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:39.215765+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} API ACL Testing Path get /v1.json GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bab897de-20ad-46b7-9b88-a5645537d328 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bab897de-20ad-46b7-9b88-a5645537d328 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00002_nodes_post_admin [0.087966s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00005_nodes_get_node_admin [0.091955s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.064318s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00082_nodes_traits_get_admin [0.054028s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.217680s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6a793f69-b5f7-40bb-9491-a190c13f0119 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6a793f69-b5f7-40bb-9491-a190c13f0119 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe955cc3-2316-408d-84d9-ec23d2ee1559 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:39.440174+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} uuid {node_ident} driver fake-driverz ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fe955cc3-2316-408d-84d9-ec23d2ee1559 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:39.440174+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00007_nodes_get_node_observer [0.074211s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d24b44c-6baa-49af-aa7f-6e1707914850 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:39.507067+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} uuid {node_ident} driver fake-driverz ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d24b44c-6baa-49af-aa7f-6e1707914850 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:39.507067+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00008_nodes_get_node_other_admin [0.105647s] ... ok GOT:{'node': {'uuid': 'e5232849-7de1-45f2-a63c-5804542648f8', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/e5232849-7de1-45f2-a63c-5804542648f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/e5232849-7de1-45f2-a63c-5804542648f8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=e5232849-7de1-45f2-a63c-5804542648f8 {} GOT:{'node': {'uuid': 'e5232849-7de1-45f2-a63c-5804542648f8', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/e5232849-7de1-45f2-a63c-5804542648f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/e5232849-7de1-45f2-a63c-5804542648f8', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=133eb95a-5573-41d6-bc46-967054f15681 {} GOT:{'node': {'uuid': '133eb95a-5573-41d6-bc46-967054f15681', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'}, 'links': [{'href': 'http://localhost/v1/nodes/133eb95a-5573-41d6-bc46-967054f15681', 'rel': 'self'}, {'href': 'http://localhost/nodes/133eb95a-5573-41d6-bc46-967054f15681', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'this_thing_on?', 'agent_token_required': True, 'disable_deep_image_inspection': False, 'permitted_image_formats': ['raw', 'qcow2', 'iso']}} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fcde123f-bfdc-4212-a9bc-9563e622e597 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7fad3c2e-17f6-449a-adc8-d9bedc034d21 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=2fad5cd3-aa51-4a6c-b3c8-e384841bfc98 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d95ec18-bbc4-4942-9df9-e0d86d403c3d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'conductors': [{'href': 'http://localhost/v1/conductors/', 'rel': 'self'}, {'href': 'http://localhost/conductors/', 'rel': 'bookmark'}], 'allocations': [{'href': 'http://localhost/v1/allocations/', 'rel': 'self'}, {'href': 'http://localhost/allocations/', 'rel': 'bookmark'}], 'events': [{'href': 'http://localhost/v1/events/', 'rel': 'self'}, {'href': 'http://localhost/events/', 'rel': 'bookmark'}], 'deploy_templates': [{'href': 'http://localhost/v1/deploy_templates/', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/', 'rel': 'bookmark'}]} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-0389e673-c925-4145-aaa4-f0226b44977b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2d7fcd09-bcc2-49ac-9586-8726b0d2985d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} GET: /v1/volume/connectors/?limit=3 {} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.037913s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.031884s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.025400s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.083447s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.077932s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.036336s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.039450s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad0df6b9-2a41-4466-9dc0-dcd234065ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad0df6b9-2a41-4466-9dc0-dcd234065ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-094b7147-1d5a-42cf-909d-4266f24f38b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-094b7147-1d5a-42cf-909d-4266f24f38b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1692f442-da42-4c23-b39c-6a8a884d43e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1692f442-da42-4c23-b39c-6a8a884d43e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-444f2e80-fb2f-4929-b24e-cecb1c886c49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-444f2e80-fb2f-4929-b24e-cecb1c886c49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-af25e065-fca7-412b-be76-bf205d7d3865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-af25e065-fca7-412b-be76-bf205d7d3865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8e4ef6e6-6556-4cb5-a26c-d37629005289 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8e4ef6e6-6556-4cb5-a26c-d37629005289 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e0561eef-6f5c-4e18-9d6e-6fde3ef30d6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e0561eef-6f5c-4e18-9d6e-6fde3ef30d6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20bda48e-773e-4e1d-9fc9-2cc1e454e15c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20bda48e-773e-4e1d-9fc9-2cc1e454e15c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-da714ecb-3701-4923-861a-8bb537080135 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00085_nodes_traits_put_admin [0.068503s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00088_nodes_traits_delete_admin [0.122704s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.078766s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.060774s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:list_all": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00099_nodes_vifs_get_observer [0.062869s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a52dcb3e-d8bf-4ddc-918a-19fa4b7cd259 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:39.617323+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a52dcb3e-d8bf-4ddc-918a-19fa4b7cd259 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:39.617323+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43a41015-b06d-4a2e-9e4c-313691f02563 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": 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"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "0bdb30a2-ce50-45ac-8491-677f3c3d00ce", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00010_nodes_get_other_admin [0.127959s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00012_nodes_detail_get_member [0.144329s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a0cdc761-3cd2-4832-a722-e7df3fe1e7f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a0cdc761-3cd2-4832-a722-e7df3fe1e7f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7f1b1b6a-c15c-41c8-a952-1e3a39e6ec2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7f1b1b6a-c15c-41c8-a952-1e3a39e6ec2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0552ca7-1a5c-427f-80c6-7baf06409448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0552ca7-1a5c-427f-80c6-7baf06409448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-effbc6d9-cb4d-4d62-b669-1b0817329854 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-effbc6d9-cb4d-4d62-b669-1b0817329854 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7a0a49e-ffdb-4fc7-85f4-1a4faf802e10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7a0a49e-ffdb-4fc7-85f4-1a4faf802e10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a31d87e2-5904-44f9-ad41-be85c00927c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a31d87e2-5904-44f9-ad41-be85c00927c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c239e62-5893-495e-b2a4-96150ee5e6c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2c239e62-5893-495e-b2a4-96150ee5e6c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-981ca817-d4ed-4ac7-9880-680baed4cfb8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-981ca817-d4ed-4ac7-9880-680baed4cfb8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8525d3d2-1ddf-4f8e-841f-dc8018828073 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.415279s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00100_nodes_vifs_post_admin [0.072517s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00015_nodes_node_ident_get_member [0.074008s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00113_portgroups_get_member [0.204825s] ... ok GOT:{'connectors': [{'uuid': 'f8d6f04a-0d1c-4c95-9bcd-4fdc81aba85b', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f8d6f04a-0d1c-4c95-9bcd-4fdc81aba85b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f8d6f04a-0d1c-4c95-9bcd-4fdc81aba85b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8dba738f-d72a-4787-a648-9580a3a239ae', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/8dba738f-d72a-4787-a648-9580a3a239ae', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/8dba738f-d72a-4787-a648-9580a3a239ae', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e962857f-f778-44b6-89a0-d9616158b0b6', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e962857f-f778-44b6-89a0-d9616158b0b6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e962857f-f778-44b6-89a0-d9616158b0b6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=e962857f-f778-44b6-89a0-d9616158b0b6'} GET: /v1/volume/connectors?detail=True {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:39.619333+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf5dbc53-946f-4515-afc2-fc9d072da4d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} GET: /v1/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84 {} GOT:{'uuid': 'd0963737-939e-44da-bdf2-1d7447d5ca84', 'created_at': '2024-09-07T17:17:39.698411+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84 {} GOT:{'uuid': 'd0963737-939e-44da-bdf2-1d7447d5ca84', 'created_at': '2024-09-07T17:17:39.698411+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84 {} GOT:{'uuid': 'd0963737-939e-44da-bdf2-1d7447d5ca84', 'created_at': '2024-09-07T17:17:39.698411+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d0963737-939e-44da-bdf2-1d7447d5ca84', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '07968059-bb6b-4e9f-a7d6-073f73900e15', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/07968059-bb6b-4e9f-a7d6-073f73900e15', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/07968059-bb6b-4e9f-a7d6-073f73900e15', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5398577a-d84f-4e0f-8524-48036573017a', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/5398577a-d84f-4e0f-8524-48036573017a', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5398577a-d84f-4e0f-8524-48036573017a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4275bf4f-89d7-4c2b-9b5b-14a21f670c5a', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4275bf4f-89d7-4c2b-9b5b-14a21f670c5a', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4275bf4f-89d7-4c2b-9b5b-14a21f670c5a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '9dac1014-71eb-439c-b527-fca0f4e601f8', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/9dac1014-71eb-439c-b527-fca0f4e601f8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9dac1014-71eb-439c-b527-fca0f4e601f8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '3fc68489-c232-442e-931c-9c67596dfe6f', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/3fc68489-c232-442e-931c-9c67596dfe6f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3fc68489-c232-442e-931c-9c67596dfe6f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-7e2826af-3528-4ac1-90bc-2f928104add5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:39.839052+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-78108bfe-ea7f-4e21-b885-464e06e7fa07 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:39.871339+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/value', 'op': 'remove'}] {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.046137s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.055345s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.059945s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.039388s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.092573s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00101_nodes_vifs_post_member [0.097993s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00114_portgroups_get_observer [0.096432s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.040808s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00119_portgroups_detail_get_member [0.051089s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00102_nodes_vifs_post_observer [0.067100s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.047583s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.082479s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.036336s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.065848s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.024964s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.072301s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.035746s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00025_nodes_validate_get_observer [0.054479s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.040410s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-da714ecb-3701-4923-861a-8bb537080135 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8f9c361c-192b-4dd5-a193-d61bf885858d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8f9c361c-192b-4dd5-a193-d61bf885858d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-61ddf880-bfec-4813-bccf-b457e9c6d594 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-61ddf880-bfec-4813-bccf-b457e9c6d594 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6c38598c-7ff9-4e15-82c4-b43615cedf35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6c38598c-7ff9-4e15-82c4-b43615cedf35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-53ae019a-ac48-4095-a7f4-835c0d11789e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-53ae019a-ac48-4095-a7f4-835c0d11789e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7f84b289-4aab-4405-be57-b12e0f5b190f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7f84b289-4aab-4405-be57-b12e0f5b190f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f988fbe1-4770-4d27-8c41-abab298d05b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f988fbe1-4770-4d27-8c41-abab298d05b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cf4bbbd5-6d4e-43cc-adf0-c2041d23ec6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cf4bbbd5-6d4e-43cc-adf0-c2041d23ec6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-984fabf8-8f4b-4385-8078-08907b549125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.067154s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.120313s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.044083s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.062970s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00112_portgroups_get_admin [0.059728s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e7df8e5a-011a-4526-89a5-f1694d65604d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /value. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3fd7a395-7bfd-42ee-9a7d-7e10394d1571 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-19809f1c-99a6-4631-b8a0-928d7af112d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-4aabca20-430d-4c25-bc23-70bc4d047ec9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65f0a1f2-bcb3-4993-9dad-019d6f378c7e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8efafb6-e2d3-4e1e-94ec-e6b308b5b4f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96cf1258-2255-49fb-9582-93164e0ef341 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.205135+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": "bar"}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/volume/connectors/80cdf345-45ee-4cb4-9338-70d2dca09e24 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-312a05ee-b9ac-4119-844b-23a02e7be068 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 80cdf345-45ee-4cb4-9338-70d2dca09e24 could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-cd6dad54-fde2-447e-b7de-0676780d3799 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/59ff8692-f416-46fb-9fe7-84dc3e3142dd Openstack-Request-Id: req-747c5ff8-5292-4ac6-9b27-e505e4b1186f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "59ff8692-f416-46fb-9fe7-84dc3e3142dd", "created_at": "2024-09-07T17:17:40.352670+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/59ff8692-f416-46fb-9fe7-84dc3e3142dd", "rel": "self"}, {"href": "http://localhost/volume/connectors/59ff8692-f416-46fb-9fe7-84dc3e3142dd", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} GET: /v1/volume/connectors/59ff8692-f416-46fb-9fe7-84dc3e3142dd {} GOT:{'uuid': '59ff8692-f416-46fb-9fe7-84dc3e3142dd', 'created_at': '2024-09-07T17:17:40.352670+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/59ff8692-f416-46fb-9fe7-84dc3e3142dd', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/59ff8692-f416-46fb-9fe7-84dc3e3142dd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.025572s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.023607s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.041973s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00115_portgroups_post_admin [0.063678s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.033505s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8525d3d2-1ddf-4f8e-841f-dc8018828073 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f284baed-f9e3-4030-9386-6aabeaa44856 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f284baed-f9e3-4030-9386-6aabeaa44856 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4e4e429-4ab4-4014-93f9-bcadfd010625 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4e4e429-4ab4-4014-93f9-bcadfd010625 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b5513efb-440b-4c8e-9805-cec5ff1de42c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b5513efb-440b-4c8e-9805-cec5ff1de42c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-693b1091-f9ce-4125-90a5-8de6f4a524e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:40.205459+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-693b1091-f9ce-4125-90a5-8de6f4a524e1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:40.205459+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-58078fc1-c28a-424c-925c-4029606ae953 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:40.299323+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-58078fc1-c28a-424c-925c-4029606ae953 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:40.299323+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00137_ports_get_member [0.100818s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.039187s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.029978s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43a41015-b06d-4a2e-9e4c-313691f02563 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": 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"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "0bdb30a2-ce50-45ac-8491-677f3c3d00ce", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cc0a409a-2d45-43ec-a00f-4b0b0b828979 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cc0a409a-2d45-43ec-a00f-4b0b0b828979 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8fa789ec-1f91-4785-a0da-7f6a9964898d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8fa789ec-1f91-4785-a0da-7f6a9964898d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6df484cf-16ee-49ce-9743-b91724bf82e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6df484cf-16ee-49ce-9743-b91724bf82e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-213277e6-82ba-4316-9d8b-5c9fb2da6c00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-213277e6-82ba-4316-9d8b-5c9fb2da6c00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-01620fbd-3b72-4723-a926-e5d7ca02e8b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-01620fbd-3b72-4723-a926-e5d7ca02e8b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2b5bf39c-017a-43ca-bfa4-72dacb26bdc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2b5bf39c-017a-43ca-bfa4-72dacb26bdc8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1ca472a9-6c43-42e7-b9ca-c95a6e02878d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1ca472a9-6c43-42e7-b9ca-c95a6e02878d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.126490s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.106315s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.027473s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00138_ports_get_observer [0.134592s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.026881s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.117860s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.028625s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.061534s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.026901s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.053710s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.032874s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00142_ports_detail_get_admin [0.118000s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.031637s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.125740s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00131_nodes_portgroups_get_member [0.054449s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-638877f8-77e7-4e66-aaff-b51fbb84ea02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68062d5b-5c84-44eb-9ab0-4af84d8cbfb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d7fe9928-bb64-4b86-9b29-5b0da8536d75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{'targets': [{'uuid': '044890c8-1e73-4cf6-b4b2-7a85c88e30b2', 'created_at': '2024-09-07T17:17:40.475505+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/044890c8-1e73-4cf6-b4b2-7a85c88e30b2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/044890c8-1e73-4cf6-b4b2-7a85c88e30b2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '769d10c2-d7af-4292-a8df-c06579a8b726', 'created_at': '2024-09-07T17:17:40.476418+00:00', 'updated_at': None, 'boot_index': 1, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/769d10c2-d7af-4292-a8df-c06579a8b726', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/769d10c2-d7af-4292-a8df-c06579a8b726', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'afe58321-51d8-412c-a8f3-ce9db6d8c0b1', 'created_at': '2024-09-07T17:17:40.477251+00:00', 'updated_at': None, 'boot_index': 2, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/afe58321-51d8-412c-a8f3-ce9db6d8c0b1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/afe58321-51d8-412c-a8f3-ce9db6d8c0b1', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=afe58321-51d8-412c-a8f3-ce9db6d8c0b1'} GET: /v1/volume/targets?detail=True {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-09-07T17:17:40.520832+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets?detail=False {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cb10dfb6-3592-436c-84fd-95590d254666 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', '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'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} GET: /v1/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a3ea623-881a-4817-9d30-8d5669f27c60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/volume/targets?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-35c9ef4f-80ea-46c8-a0fb-d0f841a2aabd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/volume/targets?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-697d4b9a-1bc6-4f54-8bd9-654842fc55bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/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-07cf79ed-ec09-4279-bb10-f117d8cbe5cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.721815+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/boot_index', 'value': 100, 'op': 'add'}] {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.032505s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.041683s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00146_ports_port_id_get_member [0.111815s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.040421s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00046_nodes_states_get_observer [0.116253s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-984fabf8-8f4b-4385-8078-08907b549125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ec5c972-27b8-4500-b7b7-d473b0e8dd43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ec5c972-27b8-4500-b7b7-d473b0e8dd43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659 Openstack-Request-Id: req-28938035-1e7c-48a7-9a54-71dc83e5f44c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ce2054f4-9476-40c6-b8e2-4ef0b9402659", "created_at": "2024-09-07T17:17:40.475998+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659", "rel": "self"}, {"href": "http://localhost/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659/ports", "rel": "self"}, {"href": "http://localhost/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659 Openstack-Request-Id: req-28938035-1e7c-48a7-9a54-71dc83e5f44c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ce2054f4-9476-40c6-b8e2-4ef0b9402659", "created_at": "2024-09-07T17:17:40.475998+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659", "rel": "self"}, {"href": "http://localhost/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659/ports", "rel": "self"}, {"href": "http://localhost/portgroups/ce2054f4-9476-40c6-b8e2-4ef0b9402659/ports", "rel": "bookmark"}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-80677a51-307d-4a9c-8fbc-902670bb5130 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-80677a51-307d-4a9c-8fbc-902670bb5130 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-127c54d6-32a7-4124-aa4f-c2f2cf721666 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-127c54d6-32a7-4124-aa4f-c2f2cf721666 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b972f2c-0f56-41fa-a7b8-ef83a7b6af5f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b972f2c-0f56-41fa-a7b8-ef83a7b6af5f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7a0f727-2456-4cc3-b36f-c6d6cb70400d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7a0f727-2456-4cc3-b36f-c6d6cb70400d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.062033s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.035515s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.020839s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00156_nodes_ports_get_observer [0.115095s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.036477s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.105459s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.050082s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00161_portgroups_ports_get_member [0.061642s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00001_values ... SKIPPED: For value storage {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00002_unauthenticated_user_cannot_get_node [0.036046s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.060359s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.094305s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00065_nodes_states_console_put_member [0.057544s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.338459s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-391dd641-12b2-4a95-93a8-6802ad09069b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.753077+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-0fc3b2d8-d5fa-436f-a9c5-6ae3cc64b1a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.786086+00:00", "updated_at": "2024-09-07T17:17:40.791344+00:00", "boot_index": 0, "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} 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-89006cde-377c-4c66-b6aa-87481bdd0dc2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4fc583b8-39cc-4a57-8fc0-353899a78c90 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.869670+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-25ea3f20-6d84-4d68-bc68-c255584b4f01 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-58bc566a-4fed-48fb-b73c-e1751c3daf7d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.990148+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44540b15-75ee-49b8-b484-6e3216f5d457 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44540b15-75ee-49b8-b484-6e3216f5d457 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00003_project_admin_can_get_node [0.035541s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00005_public_api [0.027718s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.062925s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a64efdb-ce66-492b-a4ca-9fe939f000a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a64efdb-ce66-492b-a4ca-9fe939f000a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b4f40a6-194d-4f29-88ac-da693855ad8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2b4f40a6-194d-4f29-88ac-da693855ad8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19eb6ea8-afcc-4d35-a4b1-a26fc56f2102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.658064+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19eb6ea8-afcc-4d35-a4b1-a26fc56f2102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:40.658064+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7f5d380-01fb-4c34-bdfd-a6bc269f9ce8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7f5d380-01fb-4c34-bdfd-a6bc269f9ce8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-064e44ca-9e1c-496d-9766-0d75503e4715 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-064e44ca-9e1c-496d-9766-0d75503e4715 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-716db99b-9810-4e2c-8c7d-a6175e5118bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-716db99b-9810-4e2c-8c7d-a6175e5118bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ac7cff4-15bf-439d-a006-37792c0caded X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8ac7cff4-15bf-439d-a006-37792c0caded X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bde6c580-651f-4f70-870d-202cd0ffeda4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00167_volume_get_member [0.050014s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00170_volume_connectors_get_member [0.061202s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00004_nodes_post_observer [0.100668s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00136_ports_get_admin [0.095404s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.089556s] ... ok API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-10bf94f0-8f89-4e8d-9548-5ac3f581a01a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-10bf94f0-8f89-4e8d-9548-5ac3f581a01a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20f5adbc-dd6b-436e-b697-c4b94507c1c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20f5adbc-dd6b-436e-b697-c4b94507c1c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d4fb7a08-54a2-4737-864c-2fb675cd2bb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d4fb7a08-54a2-4737-864c-2fb675cd2bb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8eb056b1-ab6a-45a5-8d17-634518903fc0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8eb056b1-ab6a-45a5-8d17-634518903fc0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e45bbc06-501c-4509-a167-992a69247480 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e45bbc06-501c-4509-a167-992a69247480 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-88f16c7c-f136-4a6d-92cb-679c00e8ad0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-88f16c7c-f136-4a6d-92cb-679c00e8ad0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8c22575-698b-4d28-858c-09a758564210 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8c22575-698b-4d28-858c-09a758564210 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ee61bb6-d404-4f8f-aa9d-5370ba8f8fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ee61bb6-d404-4f8f-aa9d-5370ba8f8fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.058231s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.055442s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00143_ports_detail_get_member [0.061400s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.081220s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.053666s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.062997s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71e6d236-38b5-4ed6-bf0b-c43292bef135 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:41.076146+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} uuid {node_uuid} driver fake-hardware ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71e6d236-38b5-4ed6-bf0b-c43292bef135 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:41.076146+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get / GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3685f75-9e78-4dd5-9ebf-3099882412b9 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b3685f75-9e78-4dd5-9ebf-3099882412b9 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which enables the provision and management of baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}]} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2b84b774-3227-47ac-a0d7-9979c51ca9aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2b84b774-3227-47ac-a0d7-9979c51ca9aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00006_nodes_get_node_member [0.110084s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.066276s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00087_nodes_traits_put_observer [0.060255s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00148_ports_port_id_patch_admin [0.117054s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.055187s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00188_volume_targets_post_member [0.060253s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.060661s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00149_ports_port_id_patch_member [0.064027s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.072748s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00116_portgroups_post_member [0.051307s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b998e16-5629-4ffb-ae95-712ee2ff9785 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b998e16-5629-4ffb-ae95-712ee2ff9785 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e5d2dda-5a44-4907-97f4-5c824aea9e7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:41.361401+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e5d2dda-5a44-4907-97f4-5c824aea9e7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:17:41.361401+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9657ec38-4130-4843-a867-d5a678d1fcb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9657ec38-4130-4843-a867-d5a678d1fcb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7e57480-97a8-4fd1-9c63-006e5e65150c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.056748s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.060543s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00117_portgroups_post_observer [0.065995s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00150_ports_port_id_patch_observer [0.136106s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.090501s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bde6c580-651f-4f70-870d-202cd0ffeda4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9f12b5b2-c639-4277-9961-ba9b9024fedd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9f12b5b2-c639-4277-9961-ba9b9024fedd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e5d30bab-9995-4bcd-b990-400c851441b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:41.210892+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e5d30bab-9995-4bcd-b990-400c851441b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:41.210892+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d166bbf8-c738-429f-94e8-7b6328f62487 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d166bbf8-c738-429f-94e8-7b6328f62487 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55c89d3e-5a47-4ebe-8411-c3f22bb657e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55c89d3e-5a47-4ebe-8411-c3f22bb657e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84dc1ee6-cf67-4aaf-9b5c-a04b97a4fec8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84dc1ee6-cf67-4aaf-9b5c-a04b97a4fec8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc4bdaf3-8336-4afe-af6f-c1c4edf733f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:41.508064+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc4bdaf3-8336-4afe-af6f-c1c4edf733f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:41.508064+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-87176a36-c4db-40ba-bab9-0da6968888f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.057721s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.062129s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00151_ports_port_id_delete_admin [0.071177s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.060318s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.086831s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a3f9dac4-5332-445a-a5db-3a06718eab9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a3f9dac4-5332-445a-a5db-3a06718eab9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-807c89bb-38d6-4432-953b-fb489b854fda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-807c89bb-38d6-4432-953b-fb489b854fda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30c5433c-c106-419f-9d42-1c50d192913e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30c5433c-c106-419f-9d42-1c50d192913e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2618b45d-63a6-4239-a70d-5a538dbe2dc6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2618b45d-63a6-4239-a70d-5a538dbe2dc6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9e7c06ce-dee3-4900-a171-7226b3f0190e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9e7c06ce-dee3-4900-a171-7226b3f0190e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8490503a-43bf-43ec-93b8-9624be69de47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8490503a-43bf-43ec-93b8-9624be69de47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c96bfd57-8239-4132-a367-961707038633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c96bfd57-8239-4132-a367-961707038633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b259ec7d-ddf2-4667-b81b-7fdc8e5f9cab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:41.672716+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00118_portgroups_detail_get_admin [0.057373s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.089426s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00047_nodes_states_power_put_admin [0.068503s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00200_nodes_volume_get_member [0.069265s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.054057s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.060382s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00208_drivers_get_admin [0.055731s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.052101s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ec036de-34de-432b-b5cb-07c4bf9219d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6ec036de-34de-432b-b5cb-07c4bf9219d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9fbad3e-cdc0-4382-a296-eb5eef8d3b72 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9fbad3e-cdc0-4382-a296-eb5eef8d3b72 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-901c36b6-05a7-4806-8e20-d48c6b0cf5b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-901c36b6-05a7-4806-8e20-d48c6b0cf5b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ae20b132-581c-4da2-a2bb-9919ff88ae19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ae20b132-581c-4da2-a2bb-9919ff88ae19 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6aa37646-f4ca-4567-93dd-544cf72a5d96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6aa37646-f4ca-4567-93dd-544cf72a5d96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5eeadbaa-a915-4df9-a385-e098c328ecc7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5eeadbaa-a915-4df9-a385-e098c328ecc7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-60bef30f-7ca4-4f02-aa92-f7b008593976 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-60bef30f-7ca4-4f02-aa92-f7b008593976 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3e7e03e-1c80-4f07-8e79-abf348f0858b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f3e7e03e-1c80-4f07-8e79-abf348f0858b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00155_nodes_ports_get_member [0.130017s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.065720s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00209_drivers_get_member [0.061545s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.054478s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.054627s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00210_drivers_get_observer [0.056286s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.218645s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b259ec7d-ddf2-4667-b81b-7fdc8e5f9cab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:41.672716+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94a6d10e-74bb-44dd-9728-e189c5fb0f34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:41.722568+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-94a6d10e-74bb-44dd-9728-e189c5fb0f34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:41.722568+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2d3cf405-c75d-4c20-8548-9d41da9b2939 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-2d3cf405-c75d-4c20-8548-9d41da9b2939 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3890a42-da05-45d1-bf98-5b4396b0f1ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3890a42-da05-45d1-bf98-5b4396b0f1ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-459d00c0-e711-40db-8479-8eec3dfea6b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:41.924798+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-459d00c0-e711-40db-8479-8eec3dfea6b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:41.924798+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a314ff08-9e8e-414c-990d-820f267aa247 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00139_ports_post_admin [0.060748s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00144_ports_detail_get_observer [0.063523s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.094666s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7e57480-97a8-4fd1-9c63-006e5e65150c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-94fa6198-214e-4e94-8976-cbee1bbe6674 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-94fa6198-214e-4e94-8976-cbee1bbe6674 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-537315e9-3736-4fb1-a351-d014ddf4cc85 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-537315e9-3736-4fb1-a351-d014ddf4cc85 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5ade2bc7-a156-401c-8d5f-5b0777295c0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5ade2bc7-a156-401c-8d5f-5b0777295c0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b0bb3eb9-8d2b-4810-bafc-89acc68e2d5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b0bb3eb9-8d2b-4810-bafc-89acc68e2d5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ee33fff5-8263-44e1-b2ad-4328b53b485c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ee33fff5-8263-44e1-b2ad-4328b53b485c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e6fde49-a3e0-4c22-bfa2-8895fc989904 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e6fde49-a3e0-4c22-bfa2-8895fc989904 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49bb2fb5-32c3-4807-9d47-41890a79addc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49bb2fb5-32c3-4807-9d47-41890a79addc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9aa93090-6025-4581-9d58-ba994d440e60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00057_nodes_states_provision_put_member [0.057567s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00060_nodes_states_raid_put_member [0.106215s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00214_drivers_properties_get_admin [0.057285s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00145_ports_port_id_get_admin [0.079453s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00162_portgroups_ports_get_observer [0.099073s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.058938s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_raid_logical_disk_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.063407s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00168_volume_get_observer [0.049745s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00152_ports_port_id_delete_member [0.065305s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00066_nodes_states_console_put_observer [0.062451s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.054108s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.092758s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-87176a36-c4db-40ba-bab9-0da6968888f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc90ef51-8a56-4879-adc1-69b226ebe855 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fc90ef51-8a56-4879-adc1-69b226ebe855 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-78cacf8a-5d74-431f-94a7-b2ae32711031 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-78cacf8a-5d74-431f-94a7-b2ae32711031 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a94f3ddc-8306-4315-afdd-1480452fecdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a94f3ddc-8306-4315-afdd-1480452fecdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79e2021c-492a-468c-9776-7466e880ed38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79e2021c-492a-468c-9776-7466e880ed38 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81214418-5c46-4a0a-9dba-f6ac80cb42c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81214418-5c46-4a0a-9dba-f6ac80cb42c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-948dd682-0139-4d3f-bcaa-8bd91be101f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-948dd682-0139-4d3f-bcaa-8bd91be101f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ec7e6691-8128-4ad2-8e81-0cef7f055ca7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ec7e6691-8128-4ad2-8e81-0cef7f055ca7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7f162005-91bf-495d-97d9-3cc4ef0be75a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7f162005-91bf-495d-97d9-3cc4ef0be75a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c71bbe5d-bcad-492d-be6d-867017b0c2f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c71bbe5d-bcad-492d-be6d-867017b0c2f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.054831s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.056353s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.088467s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.077996s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.060200s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.070408s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7ae0dca9-30f5-4c2c-949f-0b67a8fdafd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7ae0dca9-30f5-4c2c-949f-0b67a8fdafd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b713a6a9-c447-427c-bace-930c6434137a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:41.966507+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b713a6a9-c447-427c-bace-930c6434137a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:41.966507+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3eda2a1e-a6b7-4a54-a507-09ffc4a75e09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3eda2a1e-a6b7-4a54-a507-09ffc4a75e09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a82b39a-26c5-489a-949c-eec3be83a44a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7a82b39a-26c5-489a-949c-eec3be83a44a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60a88be0-2f92-4663-b37f-b0d934e52a04 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.243940+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60a88be0-2f92-4663-b37f-b0d934e52a04 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.243940+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f9311f9e-20f6-4cfe-be20-aef90e186477 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f9311f9e-20f6-4cfe-be20-aef90e186477 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49847abf-565f-4cde-a795-2e8680a249a1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00185_volume_targets_get_member [0.049232s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00189_volume_targets_post_observer [0.060408s] ... ok ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a314ff08-9e8e-414c-990d-820f267aa247 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0211ed0-2a76-4587-8cda-5a99d04d0418 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.043167+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0211ed0-2a76-4587-8cda-5a99d04d0418 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.043167+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52c819da-4a64-48e5-9957-5b5d1fdf57cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.103412+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52c819da-4a64-48e5-9957-5b5d1fdf57cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.103412+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-07a68ab5-34e4-45c8-96ff-0f8ec14c57fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-07a68ab5-34e4-45c8-96ff-0f8ec14c57fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7c4ae898-eda0-4d85-8672-52c5d9732566 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7c4ae898-eda0-4d85-8672-52c5d9732566 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e427ea8-a04c-48e4-b682-b1b8146a7aa2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.353025+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.077487s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00160_portgroups_ports_get_admin [0.073381s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.094194s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.053415s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.122073s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.049119s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.062339s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.107193s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.071286s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.052703s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9aa93090-6025-4581-9d58-ba994d440e60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b06e118f-b7c4-4a88-a678-c7de5400d64e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b06e118f-b7c4-4a88-a678-c7de5400d64e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f327f4e2-aa6c-43b9-acda-805abe66d72f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f327f4e2-aa6c-43b9-acda-805abe66d72f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b412bc28-513e-48f9-8e8d-9f2da3a2940d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b412bc28-513e-48f9-8e8d-9f2da3a2940d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bb56b4a-45c7-4862-8fc9-14e50e76fa9f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8bb56b4a-45c7-4862-8fc9-14e50e76fa9f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-714c9309-a2e4-43cf-9f4d-415a4db71249 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-714c9309-a2e4-43cf-9f4d-415a4db71249 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2667f01-4d9e-44d2-9207-d7220ddfd1eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d2667f01-4d9e-44d2-9207-d7220ddfd1eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ef379b6e-1489-4588-b463-775f9346742a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ef379b6e-1489-4588-b463-775f9346742a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.048379s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.052768s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00090_nodes_traits_delete_observer [0.059267s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.070830s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.116625s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.056863s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.050748s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00166_volume_get_admin [0.053562s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00097_nodes_vifs_get_admin [0.050853s] ... ok GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e4e42b71-783a-41ad-9d50-1e0a793843b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e4e42b71-783a-41ad-9d50-1e0a793843b4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ccb46adc-1d62-449e-a2d3-bf4e325cfab9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ccb46adc-1d62-449e-a2d3-bf4e325cfab9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0178db9d-c594-4d7b-a658-cc580be75259 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0178db9d-c594-4d7b-a658-cc580be75259 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c6238c1b-37a9-4762-971a-00a323dd6faa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c6238c1b-37a9-4762-971a-00a323dd6faa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ebfb26f7-af47-4e5f-9a13-4be01aca24da X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ebfb26f7-af47-4e5f-9a13-4be01aca24da X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97f4ea4d-cece-4803-8698-077e6ff7dc59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:17:42.654154+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97f4ea4d-cece-4803-8698-077e6ff7dc59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:17:42.654154+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0cd18489-461e-40df-9523-60cc4821892b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:17:42.731036+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.065344s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.080561s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00240_conductors_get_admin [0.060675s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00172_volume_connectors_post_admin [0.086160s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00098_nodes_vifs_get_member [0.069875s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00173_volume_connectors_post_member [0.060940s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-49847abf-565f-4cde-a795-2e8680a249a1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c024011-cf88-44db-971e-bcc8263c29a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c024011-cf88-44db-971e-bcc8263c29a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab2d0639-9cba-481e-b36c-42c66e025740 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.485879+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab2d0639-9cba-481e-b36c-42c66e025740 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.485879+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0d6f14e6-5717-406b-857f-cff0732d2a0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0d6f14e6-5717-406b-857f-cff0732d2a0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-95ff5a09-dfd5-423d-bf05-423ad7183059 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-95ff5a09-dfd5-423d-bf05-423ad7183059 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-21a0f3e1-b2dd-4753-8269-aa068e8b1185 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-21a0f3e1-b2dd-4753-8269-aa068e8b1185 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e2f131e9-c8b7-4bf8-be91-7b7164f04113 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e2f131e9-c8b7-4bf8-be91-7b7164f04113 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2a88615d-03b7-4983-91f6-f8e20792520f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2a88615d-03b7-4983-91f6-f8e20792520f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.051444s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.049428s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.095281s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.072841s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.057405s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.053605s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00243_conductors_hostname_get_admin [0.048764s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9e427ea8-a04c-48e4-b682-b1b8146a7aa2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:42.353025+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5acfa54d-ae51-4712-be51-f8f1cec4353c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5acfa54d-ae51-4712-be51-f8f1cec4353c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bb468cf-9045-421c-a62e-3e5d9bd12558 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bb468cf-9045-421c-a62e-3e5d9bd12558 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1e526d74-8cc7-4d1c-beb6-d7d2a0343306 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1e526d74-8cc7-4d1c-beb6-d7d2a0343306 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f172cbf-16ec-4799-b121-d4cc19327a76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f172cbf-16ec-4799-b121-d4cc19327a76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/b100af5b-4690-43ec-8384-ab3703f8c966 Openstack-Request-Id: req-3602390d-4c9c-488d-8e4a-939f9f21eae2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b100af5b-4690-43ec-8384-ab3703f8c966", "created_at": "2024-09-07T17:17:42.825402+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b100af5b-4690-43ec-8384-ab3703f8c966", "rel": "self"}, {"href": "http://localhost/volume/connectors/b100af5b-4690-43ec-8384-ab3703f8c966", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/b100af5b-4690-43ec-8384-ab3703f8c966 Openstack-Request-Id: req-3602390d-4c9c-488d-8e4a-939f9f21eae2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b100af5b-4690-43ec-8384-ab3703f8c966", "created_at": "2024-09-07T17:17:42.825402+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/b100af5b-4690-43ec-8384-ab3703f8c966", "rel": "self"}, {"href": "http://localhost/volume/connectors/b100af5b-4690-43ec-8384-ab3703f8c966", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe84c50d-262a-409f-ab00-f5b571d5a5bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe84c50d-262a-409f-ab00-f5b571d5a5bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-08158c8d-10ac-412c-8a9a-aaa37440be70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00174_volume_connectors_post_observer [0.078934s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.059537s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00263_nodes_allocation_get_observer [0.114760s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.097171s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00249_allocations_get_admin [0.068313s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00271_deploy_templates_get_member [0.055661s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00250_allocations_get_member [0.050810s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.056746s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-76aee236-8c63-477f-bf73-52ec5071f842 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-76aee236-8c63-477f-bf73-52ec5071f842 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3c351242-33e2-4114-9b81-3b06bc132b1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3c351242-33e2-4114-9b81-3b06bc132b1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1bf42cc1-8515-4e51-9739-de92e324aadd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1bf42cc1-8515-4e51-9739-de92e324aadd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0f582b3a-07a9-4265-8972-23bbf73f6cf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0f582b3a-07a9-4265-8972-23bbf73f6cf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84c1b06e-d86d-4a52-a020-aca4514479cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84c1b06e-d86d-4a52-a020-aca4514479cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aba286a0-298f-456c-b031-6cc5daf126c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aba286a0-298f-456c-b031-6cc5daf126c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c8e55c71-2de1-48f2-9ba2-1b084b0c76bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c8e55c71-2de1-48f2-9ba2-1b084b0c76bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e740a82-256b-44bd-ab13-1314d2ce32b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e740a82-256b-44bd-ab13-1314d2ce32b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00120_portgroups_detail_get_observer [0.054048s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.060698s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.169235s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.091893s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0cd18489-461e-40df-9523-60cc4821892b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:17:42.731036+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a0289d3-c7fd-4613-b633-4c605d2f9c7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a0289d3-c7fd-4613-b633-4c605d2f9c7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/allocations/fa5f59d3-22b7-4aea-8a70-6b0c106a776b GET: /v1/allocations/fa5f59d3-22b7-4aea-8a70-6b0c106a776b {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19c97dd9-6170-4b84-bb15-b5a5eef9379c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "fa5f59d3-22b7-4aea-8a70-6b0c106a776b", "created_at": "2024-09-07T17:17:42.898680+00:00", "updated_at": "2024-09-07T17:17:42.908156+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fa5f59d3-22b7-4aea-8a70-6b0c106a776b", "rel": "self"}, {"href": "http://localhost/allocations/fa5f59d3-22b7-4aea-8a70-6b0c106a776b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19c97dd9-6170-4b84-bb15-b5a5eef9379c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "fa5f59d3-22b7-4aea-8a70-6b0c106a776b", "created_at": "2024-09-07T17:17:42.898680+00:00", "updated_at": "2024-09-07T17:17:42.908156+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fa5f59d3-22b7-4aea-8a70-6b0c106a776b", "rel": "self"}, {"href": "http://localhost/allocations/fa5f59d3-22b7-4aea-8a70-6b0c106a776b", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d8fa948-a72c-4342-940c-43ed05c9e815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9a64a005-f5f4-4857-b065-5e00c12b6d70", "created_at": "2024-09-07T17:17:42.965940+00:00", "updated_at": "2024-09-07T17:17:42.984109+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9a64a005-f5f4-4857-b065-5e00c12b6d70", "rel": "self"}, {"href": "http://localhost/allocations/9a64a005-f5f4-4857-b065-5e00c12b6d70", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6d8fa948-a72c-4342-940c-43ed05c9e815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9a64a005-f5f4-4857-b065-5e00c12b6d70", "created_at": "2024-09-07T17:17:42.965940+00:00", "updated_at": "2024-09-07T17:17:42.984109+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/9a64a005-f5f4-4857-b065-5e00c12b6d70", "rel": "self"}, {"href": "http://localhost/allocations/9a64a005-f5f4-4857-b065-5e00c12b6d70", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bbda2355-d792-4c8f-863e-914c8eccd4a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bbda2355-d792-4c8f-863e-914c8eccd4a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/e1b64524-cb47-4562-9162-b4fc1fabfc25 GET: /v1/deploy_templates/e1b64524-cb47-4562-9162-b4fc1fabfc25 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a15c4d1-83b8-4f59-bf26-bc68b35f6448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e1b64524-cb47-4562-9162-b4fc1fabfc25", "created_at": "2024-09-07T17:17:43.148640+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e1b64524-cb47-4562-9162-b4fc1fabfc25", "rel": "self"}, {"href": "http://localhost/deploy_templates/e1b64524-cb47-4562-9162-b4fc1fabfc25", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a15c4d1-83b8-4f59-bf26-bc68b35f6448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e1b64524-cb47-4562-9162-b4fc1fabfc25", "created_at": "2024-09-07T17:17:43.148640+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e1b64524-cb47-4562-9162-b4fc1fabfc25", "rel": "self"}, {"href": "http://localhost/deploy_templates/e1b64524-cb47-4562-9162-b4fc1fabfc25", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/f6b42308-d2c9-4148-b275-00eb07346d67 DELETE: /v1/deploy_templates/f6b42308-d2c9-4148-b275-00eb07346d67 {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.060355s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.055982s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60a01b33-0879-4b7d-85d7-94649691cc1b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60a01b33-0879-4b7d-85d7-94649691cc1b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-91a89e2f-447d-49d9-9599-270933f8da8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-91a89e2f-447d-49d9-9599-270933f8da8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-02c3c4a2-0a6a-4abf-aee6-92dee6ff9b2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-02c3c4a2-0a6a-4abf-aee6-92dee6ff9b2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60df797c-3cc0-4362-9383-9bbd61a1b0b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:17:43.001630+00:00", "updated_at": "2024-09-07T17:17:43.002335+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60df797c-3cc0-4362-9383-9bbd61a1b0b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:17:43.001630+00:00", "updated_at": "2024-09-07T17:17:43.002335+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80f49c93-f318-4b20-bfe8-13a06880097b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "2edb38b7-32ed-4a60-a317-609dbe9a31d4", "created_at": "2024-09-07T17:17:43.047872+00:00", "updated_at": "2024-09-07T17:17:43.053618+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2edb38b7-32ed-4a60-a317-609dbe9a31d4", "rel": "self"}, {"href": "http://localhost/allocations/2edb38b7-32ed-4a60-a317-609dbe9a31d4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80f49c93-f318-4b20-bfe8-13a06880097b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "2edb38b7-32ed-4a60-a317-609dbe9a31d4", "created_at": "2024-09-07T17:17:43.047872+00:00", "updated_at": "2024-09-07T17:17:43.053618+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/2edb38b7-32ed-4a60-a317-609dbe9a31d4", "rel": "self"}, {"href": "http://localhost/allocations/2edb38b7-32ed-4a60-a317-609dbe9a31d4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-335f2031-4f4c-4a43-b038-0b7def3ca4fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-335f2031-4f4c-4a43-b038-0b7def3ca4fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/6fa7410f-dbae-482f-acef-932ff8ef6882 PATCH: /v1/allocations/6fa7410f-dbae-482f-acef-932ff8ef6882 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fc42900-464c-4b4c-873d-fd8fb22d2fa1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6fa7410f-dbae-482f-acef-932ff8ef6882", "created_at": "2024-09-07T17:17:43.167496+00:00", "updated_at": "2024-09-07T17:17:43.214713+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6fa7410f-dbae-482f-acef-932ff8ef6882", "rel": "self"}, {"href": "http://localhost/allocations/6fa7410f-dbae-482f-acef-932ff8ef6882", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.079633s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.091381s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.085653s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.093651s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00265_nodes_allocation_delete_member [0.050829s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00282_chassis_post_admin [0.088359s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00184_volume_targets_get_admin [0.058129s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00140_ports_post_member [0.053962s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00269_deploy_templates_post_observer [0.058024s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00286_chassis_get_member [0.055661s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00186_volume_targets_get_observer [0.069305s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:update": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.050228s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00287_chassis_get_observer [0.057097s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00187_volume_targets_post_admin [0.062273s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.056899s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00288_chassis_detail_get_admin [0.068838s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00283_chassis_post_member [0.054144s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00141_ports_post_observer [0.270646s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00284_chassis_post_observer [0.097785s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:update": "role:member and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0af2bcd2-acc8-41e3-acee-2cc6c6e5b72f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0af2bcd2-acc8-41e3-acee-2cc6c6e5b72f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/9a0f849d-baef-4544-b8c6-d496278e4975 DELETE: /v1/deploy_templates/9a0f849d-baef-4544-b8c6-d496278e4975 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef37b75d-c49d-4799-80d4-fd84f7848d2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef37b75d-c49d-4799-80d4-fd84f7848d2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6 Openstack-Request-Id: req-40002ada-b18a-4ad4-8619-fa4a1a89a3db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8b5c852e-b4d1-498f-a9d0-09381d8696e6", "created_at": "2024-09-07T17:17:43.375785+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6", "rel": "self"}, {"href": "http://localhost/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6/nodes", "rel": "self"}, {"href": "http://localhost/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6 Openstack-Request-Id: req-40002ada-b18a-4ad4-8619-fa4a1a89a3db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8b5c852e-b4d1-498f-a9d0-09381d8696e6", "created_at": "2024-09-07T17:17:43.375785+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6", "rel": "self"}, {"href": "http://localhost/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6/nodes", "rel": "self"}, {"href": "http://localhost/chassis/8b5c852e-b4d1-498f-a9d0-09381d8696e6/nodes", "rel": "bookmark"}]]} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-faee7356-5dc7-4032-8e09-e7d42dd1f4e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-faee7356-5dc7-4032-8e09-e7d42dd1f4e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b5b5e99-890a-4715-9018-7a9ff303cc0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9b5b5e99-890a-4715-9018-7a9ff303cc0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54ec0145-35f1-41e1-b010-e0151f8450df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:43.529285+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54ec0145-35f1-41e1-b010-e0151f8450df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:43.529285+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.072074s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.056130s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00300_node_history_get_admin [0.069325s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00302_node_history_get_observer [0.146444s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fc42900-464c-4b4c-873d-fd8fb22d2fa1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6fa7410f-dbae-482f-acef-932ff8ef6882", "created_at": "2024-09-07T17:17:43.167496+00:00", "updated_at": "2024-09-07T17:17:43.214713+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6fa7410f-dbae-482f-acef-932ff8ef6882", "rel": "self"}, {"href": "http://localhost/allocations/6fa7410f-dbae-482f-acef-932ff8ef6882", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/a0cd4bc8-846e-4118-b246-87c80cc4343e PATCH: /v1/allocations/a0cd4bc8-846e-4118-b246-87c80cc4343e [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a636d470-02a9-41af-a961-15986788cff8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a636d470-02a9-41af-a961-15986788cff8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28678ccf-4d0d-4731-a17e-36b0640e76ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28678ccf-4d0d-4731-a17e-36b0640e76ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8474d2f5-5de5-4775-b722-c216a8e8ab32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8474d2f5-5de5-4775-b722-c216a8e8ab32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/fade3c8d-1eaf-4e78-aae3-f4f15bccc813 PATCH: /v1/deploy_templates/fade3c8d-1eaf-4e78-aae3-f4f15bccc813 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f70002d2-45b1-41ec-a965-c7e0cd661e63 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f70002d2-45b1-41ec-a965-c7e0cd661e63 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/f1d8617f-4665-4b1b-8d44-732645c909d2 PATCH: /v1/deploy_templates/f1d8617f-4665-4b1b-8d44-732645c909d2 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f318bea-e461-4e4c-a9e5-c8f0e65c8203 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f318bea-e461-4e4c-a9e5-c8f0e65c8203 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa9194ec-5b48-496f-8d05-96153a9935b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa9194ec-5b48-496f-8d05-96153a9935b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e40675d-e29d-4cdb-9072-403442d959df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e40675d-e29d-4cdb-9072-403442d959df X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00285_chassis_get_admin [0.084472s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.050191s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.057868s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.058644s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.060195s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00305_node_history_get_entry_observer [0.061756s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00002_owner_admin_cannot_post_nodes [0.185217s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-08158c8d-10ac-412c-8a9a-aaa37440be70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4928669a-d5f3-4eb6-b19c-2ce023651441 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4928669a-d5f3-4eb6-b19c-2ce023651441 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-da81a7f7-d1b5-4e93-81c6-2518a408ffa8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-da81a7f7-d1b5-4e93-81c6-2518a408ffa8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d44b1d90-4a74-4c89-9293-65b85116f703 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d44b1d90-4a74-4c89-9293-65b85116f703 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-743f8176-b1cd-4ad0-bf96-a2a1eca9f1f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-743f8176-b1cd-4ad0-bf96-a2a1eca9f1f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2059538e-e2b0-40e5-ad2b-d07fafa905e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2059538e-e2b0-40e5-ad2b-d07fafa905e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/eec5b020-d0c0-44bd-911c-6e13d0c74db1 Openstack-Request-Id: req-b12c27d9-d3e3-4b68-bf45-6363beaab929 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "eec5b020-d0c0-44bd-911c-6e13d0c74db1", "created_at": "2024-09-07T17:17:43.509092+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/eec5b020-d0c0-44bd-911c-6e13d0c74db1", "rel": "self"}, {"href": "http://localhost/volume/targets/eec5b020-d0c0-44bd-911c-6e13d0c74db1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/eec5b020-d0c0-44bd-911c-6e13d0c74db1 Openstack-Request-Id: req-b12c27d9-d3e3-4b68-bf45-6363beaab929 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "eec5b020-d0c0-44bd-911c-6e13d0c74db1", "created_at": "2024-09-07T17:17:43.509092+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/eec5b020-d0c0-44bd-911c-6e13d0c74db1", "rel": "self"}, {"href": "http://localhost/volume/targets/eec5b020-d0c0-44bd-911c-6e13d0c74db1", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00199_nodes_volume_get_admin [0.261286s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.123381s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00011_lessee_member_can_get_node [0.060708s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5d5f21b-159c-4014-aa49-545fd89aa4ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:43.081535+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b5d5f21b-159c-4014-aa49-545fd89aa4ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:43.081535+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c9054bb1-9c06-4c84-8795-da9bae416745 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c9054bb1-9c06-4c84-8795-da9bae416745 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5761386d-baa1-470a-aadc-28531b4e8b03 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5761386d-baa1-470a-aadc-28531b4e8b03 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d69984f-31b1-41a5-adc1-1ce0d4d3b6bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3d69984f-31b1-41a5-adc1-1ce0d4d3b6bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-70a87426-8f31-4e07-87bb-612b5be39713 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-70a87426-8f31-4e07-87bb-612b5be39713 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a0103ab-b417-4074-b225-dd0dbd5220ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a0103ab-b417-4074-b225-dd0dbd5220ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00147_ports_port_id_get_observer [0.128076s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00153_ports_port_id_delete_observer [0.209444s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.245730s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00154_nodes_ports_get_admin [0.131509s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.059177s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00004_third_party_admin_cannot_post_nodes [0.115939s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6c81652-a395-4f21-b000-177f0eac0974 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6c81652-a395-4f21-b000-177f0eac0974 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12524c6a-a759-45f1-8fcd-8c1c9cf5edd8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12524c6a-a759-45f1-8fcd-8c1c9cf5edd8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9699e683-026f-48ff-9675-deb7ec8cde18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:43.853161+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9699e683-026f-48ff-9675-deb7ec8cde18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:43.853161+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-0cd225ad-7d4b-4ac7-8698-2f8da9f58452 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-0cd225ad-7d4b-4ac7-8698-2f8da9f58452 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef57fed2-93d7-444a-b248-f988760a7db2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef57fed2-93d7-444a-b248-f988760a7db2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c12cef39-4889-48d3-9a32-bde5a6dbc61e GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c12cef39-4889-48d3-9a32-bde5a6dbc61e {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b35d9968-3766-41c6-bd49-3a215f2e884c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c12cef39-4889-48d3-9a32-bde5a6dbc61e", "created_at": "2024-09-07T17:17:44.038317+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c12cef39-4889-48d3-9a32-bde5a6dbc61e", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b35d9968-3766-41c6-bd49-3a215f2e884c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c12cef39-4889-48d3-9a32-bde5a6dbc61e", "created_at": "2024-09-07T17:17:44.038317+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/c12cef39-4889-48d3-9a32-bde5a6dbc61e", "rel": "self"}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e5e7d27-6e3e-4911-860f-452ccf838f6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "c3e6b03f-23bb-4709-85f5-600c8c08e2d5", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e5e7d27-6e3e-4911-860f-452ccf838f6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "c3e6b03f-23bb-4709-85f5-600c8c08e2d5", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00013_third_party_admin_cannot_get_node [0.053659s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00018_third_party_admin_cant_get_node [0.049953s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00169_volume_connectors_get_admin [0.098279s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00023_third_party_admin_cannot_get_detail [0.057856s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00171_volume_connectors_get_observer [0.063168s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c72253bb-3dd8-433c-92f1-fa80193d1841 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:43.597161+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c72253bb-3dd8-433c-92f1-fa80193d1841 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:43.597161+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ddf29571-edba-439b-b79c-1f80cb2b8a74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ddf29571-edba-439b-b79c-1f80cb2b8a74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3824e8d7-5b9d-4ab2-824e-687e6914928d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "af79eae7-bd18-433b-bd4b-f9ff11510565", "created_at": "2024-09-07T17:17:43.739511+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/af79eae7-bd18-433b-bd4b-f9ff11510565", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3824e8d7-5b9d-4ab2-824e-687e6914928d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "af79eae7-bd18-433b-bd4b-f9ff11510565", "created_at": "2024-09-07T17:17:43.739511+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/af79eae7-bd18-433b-bd4b-f9ff11510565", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f22ad3f-89d9-4071-9f01-b0c26b6a0709 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "ee70e89d-92fc-490e-ba3d-e7b3237165c8", "created_at": "2024-09-07T17:17:43.831033+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ee70e89d-92fc-490e-ba3d-e7b3237165c8", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f22ad3f-89d9-4071-9f01-b0c26b6a0709 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "ee70e89d-92fc-490e-ba3d-e7b3237165c8", "created_at": "2024-09-07T17:17:43.831033+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ee70e89d-92fc-490e-ba3d-e7b3237165c8", "rel": "self"}]}]} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2495fa15-19de-452a-9318-67516ce2f729 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2495fa15-19de-452a-9318-67516ce2f729 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2bf6f7f3-5740-43b8-966f-dfb682dbc20b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2bf6f7f3-5740-43b8-966f-dfb682dbc20b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00007_owner_admin_can_get_node [0.080894s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00009_owner_reader_can_get_node [0.071925s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.163829s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.061699s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00027_lessee_admin_can_patch_node_extra [0.099227s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00010_lessee_admin_can_get_node [0.055628s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00029_lessee_reader_cannot_patch_node_extra [0.057514s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00012_lessee_reader_can_get_node [0.057327s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00034_lessee_admin_cannot_change_lessee [0.059979s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.147298s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d39a4cf8-9855-460e-a632-bfc83b39d2f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:43.734602+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d39a4cf8-9855-460e-a632-bfc83b39d2f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:43.734602+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8faeaedc-4125-4635-932d-83150f6838d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8faeaedc-4125-4635-932d-83150f6838d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c77e4883-5607-4d99-84ae-9d4994bef592 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c77e4883-5607-4d99-84ae-9d4994bef592 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55983b8c-fed9-4575-af2a-9e4d0ec42a93 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55983b8c-fed9-4575-af2a-9e4d0ec42a93 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f395ca8-77fa-48f3-882a-ac2ed83f2a50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f395ca8-77fa-48f3-882a-ac2ed83f2a50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d3eee69f-6758-4bbe-9000-6337a9620cad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d3eee69f-6758-4bbe-9000-6337a9620cad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.083936s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.054327s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00035_lessee_admin_cannot_change_owner [0.049801s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00201_nodes_volume_get_observer [0.062503s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00039_lessee_member_cannot_patch_instance_info [0.050451s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.059336s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d0862ee-5751-4dff-a9a0-69a0b69f3f8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d0862ee-5751-4dff-a9a0-69a0b69f3f8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd1c496b-092c-412d-a02a-f341d6780fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd1c496b-092c-412d-a02a-f341d6780fc9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2c3dd82-9d71-4fa9-9995-a8bfbb9475e7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2c3dd82-9d71-4fa9-9995-a8bfbb9475e7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-39f1d4e2-c3f6-48d1-87bd-dfabbe349ab7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-39f1d4e2-c3f6-48d1-87bd-dfabbe349ab7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fc942779-b3d1-4dfa-872d-1c24159ca776 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fc942779-b3d1-4dfa-872d-1c24159ca776 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d76c849-94b7-458b-8ba8-98d1676f8bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d76c849-94b7-458b-8ba8-98d1676f8bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00234_nodes_bios_get_admin [0.087142s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00235_nodes_bios_get_member [0.099915s] ... ok API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d8ef631-106a-4209-a63b-0adeec8218f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1d8ef631-106a-4209-a63b-0adeec8218f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b105e19-53af-4e40-bad9-b9a2479488d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b105e19-53af-4e40-bad9-b9a2479488d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b364586-5834-4e2f-beb9-04a928de6e28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b364586-5834-4e2f-beb9-04a928de6e28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e8db237a-f7d7-41c3-ab39-50cff9b40120 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e8db237a-f7d7-41c3-ab39-50cff9b40120 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47ca3bd7-7980-4fcc-a28d-325f906d8efe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47ca3bd7-7980-4fcc-a28d-325f906d8efe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e1942101-f8e0-45e6-b5d3-ee4e218affde X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e1942101-f8e0-45e6-b5d3-ee4e218affde X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e1eaebe7-6832-4561-8590-2da05cd97dfb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e1eaebe7-6832-4561-8590-2da05cd97dfb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-156dab63-39c1-4add-a46f-4162efef322a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-156dab63-39c1-4add-a46f-4162efef322a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e775a06f-e73a-4f85-bfe4-57b1e5c13635 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00040_lessee_member_cannot_patch_driver_info [0.066571s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00041_lessee_member_cannot_patch_properties [0.071863s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.111171s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00024_owner_admin_can_patch_node_extra [0.280602s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00236_nodes_bios_get_observer [0.071555s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00046_owner_member_can_patch_node_instance_info [0.075445s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.085486s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.068644s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6edf8419-fe0d-45a4-9c51-87aa4cf1f448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "2a5e5f2a-519f-4347-9795-787ab4b26126", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6edf8419-fe0d-45a4-9c51-87aa4cf1f448 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "2a5e5f2a-519f-4347-9795-787ab4b26126", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ba2f58a-38e4-46b3-af21-99ba705a259d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "e062a302-93ce-4d42-bfda-b40e205ce87c", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9ba2f58a-38e4-46b3-af21-99ba705a259d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "e062a302-93ce-4d42-bfda-b40e205ce87c", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f2c4109-39b0-43f0-9128-39f1ad3b23aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "d6ffeec8-af7f-4b6b-904d-2fc623e34c6a", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f2c4109-39b0-43f0-9128-39f1ad3b23aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "d6ffeec8-af7f-4b6b-904d-2fc623e34c6a", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-752833ef-6647-4ae4-9c9d-52e0360b97ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "44b78bfe-bbb9-46bc-a6a4-c75e7a10f734", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-752833ef-6647-4ae4-9c9d-52e0360b97ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "44b78bfe-bbb9-46bc-a6a4-c75e7a10f734", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-12cac779-853d-41da-9ebf-417517008229 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-12cac779-853d-41da-9ebf-417517008229 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00025_owner_member_can_patch_node_extra [0.077316s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00026_owner_reader_cannot_patch_node_extra [0.059196s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00047_owner_reader_can_patch_node_instance_info [0.093987s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00241_conductors_get_member [0.069172s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad29ef80-0bdb-47d0-8f7c-a20be9c56d0c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ad29ef80-0bdb-47d0-8f7c-a20be9c56d0c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-309f4f13-4bfa-4079-abe2-b4581ae6af30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-309f4f13-4bfa-4079-abe2-b4581ae6af30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2deaf18f-b9d7-4f37-a57f-b7a85476dc17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2deaf18f-b9d7-4f37-a57f-b7a85476dc17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-731735d3-0c10-4784-8bd4-6537b1625fef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-731735d3-0c10-4784-8bd4-6537b1625fef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-511d87cd-5e5f-4801-b770-0bacdb03c933 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-511d87cd-5e5f-4801-b770-0bacdb03c933 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d4d881a5-8a9f-4085-9d85-75cf06ca3fbe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d4d881a5-8a9f-4085-9d85-75cf06ca3fbe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18f62027-59af-47e9-859c-1729173e1312 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.061258s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00056_lessee_admin_can_validate_node [0.055929s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00212_drivers_driver_name_get_member [0.075869s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00245_conductors_hostname_get_observer [0.077406s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00066_lessee_admin_can_unset_maintenance [0.051603s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00033_owner_member_can_change_lessee [0.122744s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:get_properties": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00215_drivers_properties_get_member [0.060280s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.053653s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00073_lessee_member_cannot_set_boot_device [0.050404s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00216_drivers_properties_get_observer [0.049168s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00036_owner_admin_can_change_lessee [0.072246s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00075_owner_admin_can_get_boot_device [0.059294s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:driver:vendor_passthru": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.058578s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00044_lessee_member_cannot_patch_retired [0.086289s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3063ce91-e3f8-457c-af40-2fca7473f0bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:17:44.572108+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3063ce91-e3f8-457c-af40-2fca7473f0bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:17:44.572108+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4f426a29-f97c-4386-bfa3-344504abd0db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4f426a29-f97c-4386-bfa3-344504abd0db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e98c945-ff4a-441e-8915-81f374109279 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:17:44.759170+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e98c945-ff4a-441e-8915-81f374109279 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:17:44.759170+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60059103-244a-4ff6-a7ba-fde695c2e6c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60059103-244a-4ff6-a7ba-fde695c2e6c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad678140-5825-4563-bd82-e15291971510 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad678140-5825-4563-bd82-e15291971510 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d80959be-578a-4840-b0ff-58e2ba47ca92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:17:44.973020+00:00", "updated_at": "2024-09-07T17:17:44.975116+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d80959be-578a-4840-b0ff-58e2ba47ca92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:17:44.973020+00:00", "updated_at": "2024-09-07T17:17:44.975116+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} API ACL Testing Path get /v1/allocations/172e3214-2f0b-4cfc-bbad-b9b74b44753f GET: /v1/allocations/172e3214-2f0b-4cfc-bbad-b9b74b44753f {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7e9fc0a-0a2a-4ef9-b53a-84b22d1914b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 172e3214-2f0b-4cfc-bbad-b9b74b44753f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b7e9fc0a-0a2a-4ef9-b53a-84b22d1914b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 172e3214-2f0b-4cfc-bbad-b9b74b44753f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/f4361d27-bfe9-494a-9a45-16bb5c5a36bf DELETE: /v1/allocations/f4361d27-bfe9-494a-9a45-16bb5c5a36bf {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.077321s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00261_nodes_allocation_get_admin [0.097702s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00050_lessee_reader_can_patch_node_instance_info [0.060288s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e775a06f-e73a-4f85-bfe4-57b1e5c13635 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d5f7702-ef7c-4a4e-8ebe-9316807903d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d5f7702-ef7c-4a4e-8ebe-9316807903d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5288b11a-704f-4225-98ee-729a0d7a876b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5288b11a-704f-4225-98ee-729a0d7a876b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e5ff163d-f5df-4fdb-88ff-f35d828b12d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e5ff163d-f5df-4fdb-88ff-f35d828b12d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-494f8e3b-31b9-4b49-9dcd-15e78938b5c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-494f8e3b-31b9-4b49-9dcd-15e78938b5c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ce91604a-6e9e-4266-88fb-cfa26e6ce3ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ce91604a-6e9e-4266-88fb-cfa26e6ce3ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-06c86349-a533-41a8-8927-8d152baa3a62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-06c86349-a533-41a8-8927-8d152baa3a62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4771f1f8-4cc3-40c7-8582-edf9698a9571 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4771f1f8-4cc3-40c7-8582-edf9698a9571 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-790c14ea-3343-4246-920c-68d787ebfc60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00077_owner_member_cannot_get_boot_device [0.050647s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00078_lessee_member_cannot_get_boot_device [0.058183s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:conductor:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00242_conductors_get_observer [0.072053s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00084_lessee_admin_cannot_get_supported_boot_devices [0.054142s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00244_conductors_hostname_get_member [0.047297s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00052_owner_admin_cannot_delete_nodes [0.097449s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00262_nodes_allocation_get_member [0.112648s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00246_allocations_post_admin [0.054009s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00248_allocations_post_observer [0.054901s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00054_third_party_admin_cannot_delete_nodes [0.118405s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00272_deploy_templates_get_observer [0.120098s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00090_lessee_reader_get_states [0.216481s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-18f62027-59af-47e9-859c-1729173e1312 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-35c79f02-080b-44ab-b825-559409939f08 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-35c79f02-080b-44ab-b825-559409939f08 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dfe538a3-ac5c-41aa-85f9-4f22b93caafc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dfe538a3-ac5c-41aa-85f9-4f22b93caafc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a153622-73e0-427f-bdc8-133de045c805 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4a153622-73e0-427f-bdc8-133de045c805 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aac637b9-1865-4f16-a6af-06dddef9867e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aac637b9-1865-4f16-a6af-06dddef9867e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bdf3c474-d740-44d2-a5ce-9cfca0662a1f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bdf3c474-d740-44d2-a5ce-9cfca0662a1f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cae01db4-5ba7-4abc-bf3d-3abe6bf69c36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cae01db4-5ba7-4abc-bf3d-3abe6bf69c36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-47940698-76c6-4d21-b2e7-f2d1f9070cc9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-47940698-76c6-4d21-b2e7-f2d1f9070cc9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9e6a9a60-9ec5-4e0f-baee-4965140a00a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9e6a9a60-9ec5-4e0f-baee-4965140a00a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00251_allocations_get_observer [0.053415s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.088334s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00096_owner_reader_cannot_put_power_state_change [0.078848s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.123773s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.057333s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fb98d09-ca6f-4f1f-9773-f3ada0305839 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4fb98d09-ca6f-4f1f-9773-f3ada0305839 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47c3b259-2817-4311-9534-c578f5cbad49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47c3b259-2817-4311-9534-c578f5cbad49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-494eac56-6108-4328-aef1-4658e17e39c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-494eac56-6108-4328-aef1-4658e17e39c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6d3f13c5-0954-41ef-8b0b-19988b8cbedc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6d3f13c5-0954-41ef-8b0b-19988b8cbedc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-debdd4d1-fa4c-4884-8f55-dc93664070d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-debdd4d1-fa4c-4884-8f55-dc93664070d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fb63724e-9bd5-4cf2-bc14-dca8e2656d18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fb63724e-9bd5-4cf2-bc14-dca8e2656d18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0965df13-2d01-4d32-a28e-fca79352cc88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0965df13-2d01-4d32-a28e-fca79352cc88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-19cc10b2-ad93-42b6-b6a1-e3f637784590 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-19cc10b2-ad93-42b6-b6a1-e3f637784590 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00055_owner_admin_can_validate_node [0.136804s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.089547s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00097_lessee_reader_cannot_put_power_state_change [0.085822s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00059_third_party_admin_cannot_validate_node [0.079204s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.055097s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00099_owner_admin_can_put_boot_mode_state_change [0.056961s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.063905s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00065_owner_admin_can_unset_maintenance [0.061536s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00100_lessee_admin_can_put_boot_mode_state_change [0.051092s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00068_lessee_member_cannot_unset_maintenance [0.056655s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.075929s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00069_third_party_admin_cannot_unset_maintenance [0.052682s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:update": "role:member and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8470b461-bce6-40c1-b12a-6e920df56d7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f4361d27-bfe9-494a-9a45-16bb5c5a36bf could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8470b461-bce6-40c1-b12a-6e920df56d7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f4361d27-bfe9-494a-9a45-16bb5c5a36bf could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0bc70d1f-f90f-48ca-90c4-117cb41eac34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "edc0c008-d263-4319-81cf-b0f6d91bd2ed", "created_at": "2024-09-07T17:17:45.175365+00:00", "updated_at": "2024-09-07T17:17:45.195968+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/edc0c008-d263-4319-81cf-b0f6d91bd2ed", "rel": "self"}, {"href": "http://localhost/allocations/edc0c008-d263-4319-81cf-b0f6d91bd2ed", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0bc70d1f-f90f-48ca-90c4-117cb41eac34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "edc0c008-d263-4319-81cf-b0f6d91bd2ed", "created_at": "2024-09-07T17:17:45.175365+00:00", "updated_at": "2024-09-07T17:17:45.195968+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/edc0c008-d263-4319-81cf-b0f6d91bd2ed", "rel": "self"}, {"href": "http://localhost/allocations/edc0c008-d263-4319-81cf-b0f6d91bd2ed", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-834137bb-8634-4c06-95e4-328133600006 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-834137bb-8634-4c06-95e4-328133600006 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07ca2a4a-ad92-4998-b9a5-59c59b029850 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "420562bd-8b38-4f83-989b-c4b00a117f73", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/420562bd-8b38-4f83-989b-c4b00a117f73", "rel": "self"}, {"href": "http://localhost/deploy_templates/420562bd-8b38-4f83-989b-c4b00a117f73", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07ca2a4a-ad92-4998-b9a5-59c59b029850 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "420562bd-8b38-4f83-989b-c4b00a117f73", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/420562bd-8b38-4f83-989b-c4b00a117f73", "rel": "self"}, {"href": "http://localhost/deploy_templates/420562bd-8b38-4f83-989b-c4b00a117f73", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/8840692a-6fe1-4dcf-bbf9-dfdcf991e25d GET: /v1/deploy_templates/8840692a-6fe1-4dcf-bbf9-dfdcf991e25d {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34a8117d-390e-4ba7-8e8e-fe8422a3d52d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8840692a-6fe1-4dcf-bbf9-dfdcf991e25d", "created_at": "2024-09-07T17:17:45.569005+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8840692a-6fe1-4dcf-bbf9-dfdcf991e25d", "rel": "self"}, {"href": "http://localhost/deploy_templates/8840692a-6fe1-4dcf-bbf9-dfdcf991e25d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-34a8117d-390e-4ba7-8e8e-fe8422a3d52d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8840692a-6fe1-4dcf-bbf9-dfdcf991e25d", "created_at": "2024-09-07T17:17:45.569005+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8840692a-6fe1-4dcf-bbf9-dfdcf991e25d", "rel": "self"}, {"href": "http://localhost/deploy_templates/8840692a-6fe1-4dcf-bbf9-dfdcf991e25d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path get /v1/deploy_templates/e13f6747-6c27-4c94-a93e-090afcde93a3 GET: /v1/deploy_templates/e13f6747-6c27-4c94-a93e-090afcde93a3 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b5bbbf3-f1a1-40f7-bcb8-3e4f0204dac8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b5bbbf3-f1a1-40f7-bcb8-3e4f0204dac8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/9adb507c-df50-4b52-9111-0a0e4db1edb1 DELETE: /v1/deploy_templates/9adb507c-df50-4b52-9111-0a0e4db1edb1 GOT:Response: 204 No Content Openstack-Request-Id: req-40a69641-a29c-42d9-b79a-51e7046f961b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-40a69641-a29c-42d9-b79a-51e7046f961b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00290_chassis_detail_get_observer [0.087983s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.053858s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:delete": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.060893s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-790c14ea-3343-4246-920c-68d787ebfc60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b094b0d7-81fa-45a0-beed-d865ba0eeb96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b094b0d7-81fa-45a0-beed-d865ba0eeb96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9af7de0-4b12-4306-b1a5-4afd2601db0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9af7de0-4b12-4306-b1a5-4afd2601db0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef7a96e8-11cb-4520-bb98-895015330ef6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ef7a96e8-11cb-4520-bb98-895015330ef6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-36963c03-c909-4a63-854d-2ea51167d83d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-36963c03-c909-4a63-854d-2ea51167d83d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c22b1620-2dc8-4557-8371-b3590582d25a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c22b1620-2dc8-4557-8371-b3590582d25a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3cfd2f80-4998-4959-beda-528f21122f00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3cfd2f80-4998-4959-beda-528f21122f00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7d0eae2-0108-4ffb-9c9a-156b2b35e01e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a7d0eae2-0108-4ffb-9c9a-156b2b35e01e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00103_owner_reader_cannot_put_boot_mode_state_change [0.050957s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00104_lessee_reader_cannot_put_boot_mode_state_change [0.057484s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00070_owner_admin_can_set_boot_device [0.098659s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.139748s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00106_owner_admin_can_put_secure_boot_state_change [0.070153s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00301_node_history_get_member [0.059429s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00071_lessee_admin_cannot_set_boot_device [0.055239s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00111_lessee_reader_cannot_put_secure_boot_state_change [0.051433s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00303_node_history_get_entry_admin [0.081952s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00085_third_party_admin_cannot_get_supported_boot_devices [0.073502s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00114_owner_member_can_change_provision_state [0.061612s] ... ok API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1ab476a-9abf-4d31-8676-f7f6e50dc2d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "d1296ce6-546b-48af-a3f7-6504def68fcf", "created_at": "2024-09-07T17:17:45.454513+00:00", "updated_at": "2024-09-07T17:17:45.460206+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d1296ce6-546b-48af-a3f7-6504def68fcf", "rel": "self"}, {"href": "http://localhost/allocations/d1296ce6-546b-48af-a3f7-6504def68fcf", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b1ab476a-9abf-4d31-8676-f7f6e50dc2d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "d1296ce6-546b-48af-a3f7-6504def68fcf", "created_at": "2024-09-07T17:17:45.454513+00:00", "updated_at": "2024-09-07T17:17:45.460206+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d1296ce6-546b-48af-a3f7-6504def68fcf", "rel": "self"}, {"href": "http://localhost/allocations/d1296ce6-546b-48af-a3f7-6504def68fcf", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/3ac55b5d-8ddb-4d41-b344-c5596da80329 GET: /v1/allocations/3ac55b5d-8ddb-4d41-b344-c5596da80329 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a32977f-0d51-4994-9526-965dfca5b8aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3ac55b5d-8ddb-4d41-b344-c5596da80329", "created_at": "2024-09-07T17:17:45.512684+00:00", "updated_at": "2024-09-07T17:17:45.529305+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3ac55b5d-8ddb-4d41-b344-c5596da80329", "rel": "self"}, {"href": "http://localhost/allocations/3ac55b5d-8ddb-4d41-b344-c5596da80329", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a32977f-0d51-4994-9526-965dfca5b8aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3ac55b5d-8ddb-4d41-b344-c5596da80329", "created_at": "2024-09-07T17:17:45.512684+00:00", "updated_at": "2024-09-07T17:17:45.529305+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3ac55b5d-8ddb-4d41-b344-c5596da80329", "rel": "self"}, {"href": "http://localhost/allocations/3ac55b5d-8ddb-4d41-b344-c5596da80329", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/f9f20a6e-034f-4d82-b122-56a09d549385 PATCH: /v1/allocations/f9f20a6e-034f-4d82-b122-56a09d549385 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e31faacd-65d6-4429-bdc1-4efc532bc2f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f9f20a6e-034f-4d82-b122-56a09d549385 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e31faacd-65d6-4429-bdc1-4efc532bc2f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f9f20a6e-034f-4d82-b122-56a09d549385 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/21f38921-966f-4e08-b32d-ed94c4982d2f DELETE: /v1/allocations/21f38921-966f-4e08-b32d-ed94c4982d2f GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a4065924-bb46-4721-b158-443041780f7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a4065924-bb46-4721-b158-443041780f7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/8ffc2b23-3b3e-4d9d-b128-c07fdaaff91c DELETE: /v1/allocations/8ffc2b23-3b3e-4d9d-b128-c07fdaaff91c GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8a1610e7-27ff-4456-94a8-8305c1bf43ed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8a1610e7-27ff-4456-94a8-8305c1bf43ed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-221d5b63-8fa2-46aa-9696-492b372a1f02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-221d5b63-8fa2-46aa-9696-492b372a1f02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3489d7bf-266c-4757-9571-9fdb7f6942b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.060358s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00267_deploy_templates_post_admin [0.080078s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00116_lessee_member_cannot_change_provision_state [0.052518s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00003_lessee_admin_cannot_post_nodes [0.087337s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00268_deploy_templates_post_member [0.053490s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00117_third_party_admin_cannot_change_provision_state [0.059980s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00270_deploy_templates_get_admin [0.080601s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f180e055-6144-4e0f-afc4-70d8af0c8662 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:45.740652+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f180e055-6144-4e0f-afc4-70d8af0c8662 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:45.740652+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6fb5fc1b-3d96-4c06-a751-e718229615f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6fb5fc1b-3d96-4c06-a751-e718229615f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9783f988-691e-447b-a295-4e1805e23b6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9783f988-691e-447b-a295-4e1805e23b6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7b8b2c0-8230-4894-b30e-8edb24480b96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7b8b2c0-8230-4894-b30e-8edb24480b96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/50a47243-08cf-4446-8193-1b0cd97f617f GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/50a47243-08cf-4446-8193-1b0cd97f617f {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae24868d-5072-4cba-b1e4-02b4bcbffa70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "50a47243-08cf-4446-8193-1b0cd97f617f", "created_at": "2024-09-07T17:17:46.002911+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/50a47243-08cf-4446-8193-1b0cd97f617f", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ae24868d-5072-4cba-b1e4-02b4bcbffa70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "50a47243-08cf-4446-8193-1b0cd97f617f", "created_at": "2024-09-07T17:17:46.002911+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/50a47243-08cf-4446-8193-1b0cd97f617f", "rel": "self"}]} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b2549c0f-e260-48a3-b2ed-8f136557fbcc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b2549c0f-e260-48a3-b2ed-8f136557fbcc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-555c3b8e-1771-4c98-b9c9-38af7d0f8b16 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00006_owner_reader_cannot_post_reader [0.065451s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-74f44509-8738-484b-8708-802ed28f3234 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-74f44509-8738-484b-8708-802ed28f3234 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-746af7b9-0823-4a46-9c3d-c32bdd047bfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-746af7b9-0823-4a46-9c3d-c32bdd047bfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a8b2fcc3-88b6-4b37-8947-e7f23f7035d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a8b2fcc3-88b6-4b37-8947-e7f23f7035d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-16bd99ad-343f-4b8f-9501-6677dad0167d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-16bd99ad-343f-4b8f-9501-6677dad0167d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d96cd64d-5d7d-401f-b4e4-d8364ff12b9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d96cd64d-5d7d-401f-b4e4-d8364ff12b9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fca0f500-d363-435b-bcd3-e7bd874ad27c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fca0f500-d363-435b-bcd3-e7bd874ad27c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d35b416a-db43-43a9-83a8-a27351cc9137 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d35b416a-db43-43a9-83a8-a27351cc9137 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0809c7b-1d49-45fb-b147-6c1b7f83f166 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0809c7b-1d49-45fb-b147-6c1b7f83f166 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00087_lessee_admin_cannot_send_non_masking_interrupt [0.133866s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00129_third_party_admin_cannot_get_console [0.113894s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00008_owner_member_can_get_node [0.056749s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:deploy_template:update": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00015_owner_reader_cannot_get_other_node [0.063051s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00091_third_part_admin_cannot_get_states [0.123347s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.120791s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00098_third_party_admin_cannot_put_power_state_change [0.067739s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-274f440a-248d-4f0d-b6cf-f0eccf645de4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-274f440a-248d-4f0d-b6cf-f0eccf645de4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe8f2b1c-07b3-4425-bd5e-69225b5277c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe8f2b1c-07b3-4425-bd5e-69225b5277c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9c70dba5-5e6b-45ae-83e8-9b567b6f3f72 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9c70dba5-5e6b-45ae-83e8-9b567b6f3f72 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9171310-dd39-4714-9437-c307053d9aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9171310-dd39-4714-9437-c307053d9aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8b67d997-aa38-451a-bec3-ea142e561d30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8b67d997-aa38-451a-bec3-ea142e561d30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f6ad33f1-7cba-43fb-969e-b56fd234de3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f6ad33f1-7cba-43fb-969e-b56fd234de3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d3decede-d0b7-4101-9ff5-0fd6253f48cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d3decede-d0b7-4101-9ff5-0fd6253f48cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-48c87e52-2883-4046-9648-c72d23ae9314 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-48c87e52-2883-4046-9648-c72d23ae9314 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00130_owner_admin_can_set_console [0.056382s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00134_owner_admin_cannot_get_vendor_passthru_methods [0.049946s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00135_owner_member_cannot_get_vendor_passthru_methods [0.054028s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-555c3b8e-1771-4c98-b9c9-38af7d0f8b16 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40764820-75bb-477f-a1f0-b8c476e1b86c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "ed72424b-3aff-405e-8350-486ad9ea06fb", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-40764820-75bb-477f-a1f0-b8c476e1b86c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": "ed72424b-3aff-405e-8350-486ad9ea06fb", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f16e2a9-1311-4a68-a8fa-bd7043db2fef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f16e2a9-1311-4a68-a8fa-bd7043db2fef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d941ae1b-abf2-4fb2-bdd4-e0476640a5bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:46.358352+00:00", "updated_at": "2024-09-07T17:17:46.365590+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "723ae2ce-ebda-4cb3-8227-66f40148e693", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "723ae2ce-ebda-4cb3-8227-66f40148e693", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00016_lessee_reader_can_get_their_node [0.062850s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00017_lessee_reader_cant_get_other_node [0.053588s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:get": "role:reader and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00108_owner_member_can_put_secure_boot_state_change [0.089334s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00289_chassis_detail_get_member [0.143245s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00141_owner_member_cannot_get_vendor_passthru [0.061903s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:chassis:update": "role:member and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00142_owner_reader_cannot_get_vendor_passthru [0.048169s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d941ae1b-abf2-4fb2-bdd4-e0476640a5bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:46.358352+00:00", "updated_at": "2024-09-07T17:17:46.365590+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "723ae2ce-ebda-4cb3-8227-66f40148e693", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "723ae2ce-ebda-4cb3-8227-66f40148e693", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-97b08827-ba1e-4875-929f-d301d943a5d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-97b08827-ba1e-4875-929f-d301d943a5d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0ec3720-6e5f-4a22-b976-67ec967921f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-07T17:17:46.471074+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} last_error meow reservation lolcats driver_internal_info {'private_state': 'secret value'} driver_info {'foo': 'bar', 'fake_password': '******'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00019_owner_reader_can_get_restricted_fields [0.080027s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00146_owner_admin_cannot_post_vendor_passthru [0.049902s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00109_lessee_member_can_put_secure_boot_state_change [0.162465s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3489d7bf-266c-4757-9571-9fdb7f6942b7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/08ed7a67-337f-429e-859c-f6de2886d859 Openstack-Request-Id: req-71e59eaf-9f61-4aca-900c-dd3d38779056 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "08ed7a67-337f-429e-859c-f6de2886d859", "created_at": "2024-09-07T17:17:46.084366+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/08ed7a67-337f-429e-859c-f6de2886d859", "rel": "self"}, {"href": "http://localhost/deploy_templates/08ed7a67-337f-429e-859c-f6de2886d859", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/08ed7a67-337f-429e-859c-f6de2886d859 Openstack-Request-Id: req-71e59eaf-9f61-4aca-900c-dd3d38779056 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "08ed7a67-337f-429e-859c-f6de2886d859", "created_at": "2024-09-07T17:17:46.084366+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/08ed7a67-337f-429e-859c-f6de2886d859", "rel": "self"}, {"href": "http://localhost/deploy_templates/08ed7a67-337f-429e-859c-f6de2886d859", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e3bd643-2af5-45be-bf94-c65802e6e6f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e3bd643-2af5-45be-bf94-c65802e6e6f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7c493fc1-3c52-4a5a-b476-8db21343bb21 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "fa5db7b0-351e-4a3d-bc9a-40b66af8aa53", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/fa5db7b0-351e-4a3d-bc9a-40b66af8aa53", "rel": "self"}, {"href": "http://localhost/deploy_templates/fa5db7b0-351e-4a3d-bc9a-40b66af8aa53", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7c493fc1-3c52-4a5a-b476-8db21343bb21 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "fa5db7b0-351e-4a3d-bc9a-40b66af8aa53", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/fa5db7b0-351e-4a3d-bc9a-40b66af8aa53", "rel": "self"}, {"href": "http://localhost/deploy_templates/fa5db7b0-351e-4a3d-bc9a-40b66af8aa53", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/deploy_templates/cae3df69-239f-4acf-8209-4200bea00e81 PATCH: /v1/deploy_templates/cae3df69-239f-4acf-8209-4200bea00e81 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adcef362-1ac2-44b0-a217-542c082668fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cae3df69-239f-4acf-8209-4200bea00e81", "created_at": "2024-09-07T17:17:46.284959+00:00", "updated_at": "2024-09-07T17:17:46.331684+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cae3df69-239f-4acf-8209-4200bea00e81", "rel": "self"}, {"href": "http://localhost/deploy_templates/cae3df69-239f-4acf-8209-4200bea00e81", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-adcef362-1ac2-44b0-a217-542c082668fe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cae3df69-239f-4acf-8209-4200bea00e81", "created_at": "2024-09-07T17:17:46.284959+00:00", "updated_at": "2024-09-07T17:17:46.331684+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/cae3df69-239f-4acf-8209-4200bea00e81", "rel": "self"}, {"href": "http://localhost/deploy_templates/cae3df69-239f-4acf-8209-4200bea00e81", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a77c99da-b1c6-4d6f-bd50-ef9855ecb975 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a77c99da-b1c6-4d6f-bd50-ef9855ecb975 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31db1448-1503-40e8-b7f9-b8f8de79bbbc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:46.517223+00:00", "updated_at": "2024-09-07T17:17:46.578989+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.100545s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00148_owner_reader_cannot_post_vendor_passthru [0.058248s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00304_node_history_get_entry_member [0.104598s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00149_lessee_admin_cannot_post_vendor_passthru [0.064512s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0ec3720-6e5f-4a22-b976-67ec967921f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-07T17:17:46.471074+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08bee0e2-9783-4a77-98ed-68a61a9d9d17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-07T17:17:46.552924+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:46.568900+00:00", "updated_at": "2024-09-07T17:17:46.579449+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "1cb00564-fd5e-4e78-8404-1006d241a6e4", "last_error": "meow", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "1cb00564-fd5e-4e78-8404-1006d241a6e4", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00021_owner_reader_can_get_detail [0.139458s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00120_owner_member_can_set_raid_config [0.123241s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08bee0e2-9783-4a77-98ed-68a61a9d9d17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-07T17:17:46.552924+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:46.568900+00:00", "updated_at": "2024-09-07T17:17:46.579449+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "1cb00564-fd5e-4e78-8404-1006d241a6e4", "last_error": "meow", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "1cb00564-fd5e-4e78-8404-1006d241a6e4", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00022_lessee_reader_can_get_detail [0.067347s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00031_owner_admin_can_change_drivers [0.076157s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00121_lessee_member_cannot_set_raid_config [0.073569s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-44e86e7d-57f6-4317-a558-889e4188fcef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-44e86e7d-57f6-4317-a558-889e4188fcef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14bdf7a7-d7aa-43b5-ba7c-9d074db65db7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14bdf7a7-d7aa-43b5-ba7c-9d074db65db7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75fa35bd-90b0-419e-ac55-9700ae3efc4c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75fa35bd-90b0-419e-ac55-9700ae3efc4c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee8092c0-852c-4358-9f10-bb359a9c306c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ee8092c0-852c-4358-9f10-bb359a9c306c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b730821-f61d-4870-8471-422716560179 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8b730821-f61d-4870-8471-422716560179 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e0437217-a0a4-4002-b1ae-bedc3a9f172a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e0437217-a0a4-4002-b1ae-bedc3a9f172a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9947f297-3757-4a31-8ee1-b0fef305bbbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9947f297-3757-4a31-8ee1-b0fef305bbbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cea0b84d-3c66-4832-b599-fbc5d7e69c5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cea0b84d-3c66-4832-b599-fbc5d7e69c5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00151_lessee_reader_cannot_post_vendor_passthru [0.089262s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00157_lessee_reader_cannot_put_vendor_passthru [0.056070s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00005_owner_member_cannot_post_nodes [0.131506s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00124_lessee_admin_cannot_get_console [0.090983s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19ff0d4c-8482-405c-9b02-a293795a16b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:46.694220+00:00", "updated_at": "2024-09-07T17:17:46.701160+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "92fcfb97-511b-4f40-bd81-c0224cbb5080", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "92fcfb97-511b-4f40-bd81-c0224cbb5080", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19ff0d4c-8482-405c-9b02-a293795a16b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:46.694220+00:00", "updated_at": "2024-09-07T17:17:46.701160+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "92fcfb97-511b-4f40-bd81-c0224cbb5080", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "92fcfb97-511b-4f40-bd81-c0224cbb5080", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ab46f728-6bbf-4cfc-a351-784787d3af65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ab46f728-6bbf-4cfc-a351-784787d3af65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/protected', 'value': True}] {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00038_lessee_member_can_set_protected [0.085910s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00042_lessee_member_cannot_patch_network_data [0.072247s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00158_owner_admin_cannot_delete_vendor_passthru [0.092023s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-31db1448-1503-40e8-b7f9-b8f8de79bbbc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:17:46.517223+00:00", "updated_at": "2024-09-07T17:17:46.578989+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bd8781b2-8ce8-4e28-818a-8c9568bcb7db GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/bd8781b2-8ce8-4e28-818a-8c9568bcb7db {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62925847-8a98-4767-b958-8ac8a051f2c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62925847-8a98-4767-b958-8ac8a051f2c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-839b171d-e5d1-47c3-a874-7211cae49dd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-839b171d-e5d1-47c3-a874-7211cae49dd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ac8f854-ee9e-4d74-b12a-4b0f2c6e0e81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-07T17:17:46.950567+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00014_owner_reader_can_get_their_node [0.075450s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00159_owner_member_cannot_delete_vendor_passthru [0.088087s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd8e3cd5-aa51-46b7-bece-f392dec54c43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd8e3cd5-aa51-46b7-bece-f392dec54c43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f19b947-37f1-4698-a92a-4ce601bf3d90 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2f19b947-37f1-4698-a92a-4ce601bf3d90 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1194f904-b965-461f-9ce7-c9867d70f998 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1194f904-b965-461f-9ce7-c9867d70f998 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eda51bab-29fc-4252-91a9-9c1babb9bedf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eda51bab-29fc-4252-91a9-9c1babb9bedf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0b09a70-5818-419b-a0eb-bcc74b9ed7cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c0b09a70-5818-419b-a0eb-bcc74b9ed7cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d80a0d5d-6508-473c-a98c-ff0d5f0a6b62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d80a0d5d-6508-473c-a98c-ff0d5f0a6b62 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20473f8f-aa17-4920-9abf-e20fd608e0c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-20473f8f-aa17-4920-9abf-e20fd608e0c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-704443bb-0863-4849-92dc-49ee9be75472 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-704443bb-0863-4849-92dc-49ee9be75472 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00126_lessee_member_cannot_get_console [0.063592s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00045_owner_admin_can_patch_node_instance_info [0.125818s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00127_owner_reader_cannot_get_console [0.116542s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00163_lessee_reader_cannot_delete_vendor_passthru [0.058062s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ac8f854-ee9e-4d74-b12a-4b0f2c6e0e81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-09-07T17:17:46.950567+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3b500d9-639c-4fe3-a1da-9a49060118eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:47.026392+00:00", "updated_at": "2024-09-07T17:17:47.033765+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "e964bfac-aca1-4234-8a9c-27b4626738d9", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "e964bfac-aca1-4234-8a9c-27b4626738d9", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} last_error ** Value Redacted - Requires baremetal:node:get:last_error permission. ** reservation ** Redacted - requires baremetal:node:get:reservation permission. ** driver_internal_info {'content': '** Redacted - Requires baremetal:node:get:driver_internal_info permission. **'} driver_info {'content': '** Redacted - requires baremetal:node:get:driver_info permission. **'} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00020_lessee_reader_cannot_get_restricted_fields [0.058406s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00028_lessee_member_can_patch_node_extra [0.082749s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00165_lessee_reader_get_traits [0.051144s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00128_lessee_reader_cannot_get_console [0.066524s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00030_third_party_admin_cannot_patch_node_extra [0.054583s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00167_owner_admin_can_put_traits [0.058365s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00131_lessee_admin_cannot_set_console [0.070552s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00032_owner_member_can_patch_all_the_things [0.077864s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00048_lessee_admin_can_patch_node_instance_info [0.185458s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00171_third_party_admin_cannot_put_traits [0.057949s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00037_owner_admin_cannot_change_owner [0.068002s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00051_third_party_admin_cannot_patch_node_instance_info [0.068468s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00132_owner_member_can_set_console [0.089609s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00053_lessee_admin_cannot_delete_nodes [0.055282s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00139_lessee_reader_cannot_get_vendor_passthru_methods [0.060442s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7341bfb0-99b5-4396-bebb-41e6e738962f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7341bfb0-99b5-4396-bebb-41e6e738962f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad516c1b-06be-40ea-a24f-fd55b1235fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad516c1b-06be-40ea-a24f-fd55b1235fe1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-50060f09-1bb9-4ff0-8893-7579edb3cf0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-50060f09-1bb9-4ff0-8893-7579edb3cf0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2f7ef5a3-c67d-481e-a424-90d2d2ee60a1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2f7ef5a3-c67d-481e-a424-90d2d2ee60a1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd3e24f6-9556-4f74-aea0-9796811e1a54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fd3e24f6-9556-4f74-aea0-9796811e1a54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3599e7d9-e384-40c8-85ed-2ec5c6664c60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3599e7d9-e384-40c8-85ed-2ec5c6664c60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": []} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d39c85da-4726-4802-a84a-00db20937314 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d39c85da-4726-4802-a84a-00db20937314 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cdc960a0-589b-491b-ba65-aac974433d0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cdc960a0-589b-491b-ba65-aac974433d0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6cd25257-782e-4f12-9aef-8153f9096bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00174_lessee_admin_cannot_delete_traits [0.055792s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00175_lessee_member_cannot_delete_traits [0.050058s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00184_third_party_admin_cannot_get_vifs [0.064176s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00058_lessee_member_cannot_validate_node [0.080291s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00187_owner_member_can_post_vifs [0.050536s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3b500d9-639c-4fe3-a1da-9a49060118eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-09-07T17:17:47.026392+00:00", "updated_at": "2024-09-07T17:17:47.033765+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "e964bfac-aca1-4234-8a9c-27b4626738d9", "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "e964bfac-aca1-4234-8a9c-27b4626738d9", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4ba338e1-111c-48fb-a65d-34b094771364 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4ba338e1-111c-48fb-a65d-34b094771364 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9790a776-9f3c-4106-b260-6675eac66608 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9790a776-9f3c-4106-b260-6675eac66608 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/driver_info', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}, {'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}, {'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}, {'op': 'replace', 'path': '/retired', 'value': True}, {'op': 'replace', 'path': '/retired_reason', 'value': '43'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7ceaf899-22f0-407c-a9ae-dbbe56d99405 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7ceaf899-22f0-407c-a9ae-dbbe56d99405 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/owner', 'value': '1234'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d9c7a250-cae0-438c-82cb-a733fef7f172 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d9c7a250-cae0-438c-82cb-a733fef7f172 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/name', 'value': 'meow-node-1'}] {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00043_lessee_member_cannot_patch_name [0.098393s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00049_lessee_member_cannot_patch_node_instance_info [0.054903s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00144_lessee_member_cannot_get_vendor_passthru [0.130948s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00057_owner_member_can_validate_node [0.055952s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00060_owner_admin_can_set_maintenance [0.082200s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00193_lessee_admin_can_delete_vifs [0.057809s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00154_owner_reader_cannot_put_vendor_passthru [0.058805s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00061_lessee_admin_can_set_maintenance [0.062531s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00199_third_party_admin_cannot_get_indicators [0.067725s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00062_owner_member_can_set_maintenance [0.055263s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ee6bb221-16d6-468c-9100-65eee0aa7326 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ee6bb221-16d6-468c-9100-65eee0aa7326 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a245f411-22d2-4a78-ab09-cf9d440fccbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a245f411-22d2-4a78-ab09-cf9d440fccbb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c655966f-cd1d-4e43-8d44-77871506631f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c655966f-cd1d-4e43-8d44-77871506631f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7c506d2-06b9-4b83-9c26-e2a67cf38cd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7c506d2-06b9-4b83-9c26-e2a67cf38cd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-406ca2f9-04b2-4111-a06c-9cd822583727 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-406ca2f9-04b2-4111-a06c-9cd822583727 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d75e330-481d-4024-9589-d8826bbc3e70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d75e330-481d-4024-9589-d8826bbc3e70 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff9dbfd0-eaf3-40be-a2ca-5eb3473d97b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff9dbfd0-eaf3-40be-a2ca-5eb3473d97b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-022f5627-8b65-47b7-9329-b69cb1b915c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-022f5627-8b65-47b7-9329-b69cb1b915c5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00063_lessee_member_cannot_set_maintenance [0.053494s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00072_owner_member_cannot_set_boot_device [0.062406s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a9e0711e-40b0-47de-91b3-1a8f03e77bba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a9e0711e-40b0-47de-91b3-1a8f03e77bba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13184274-9693-4ca6-afa0-c9767879ab05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-13184274-9693-4ca6-afa0-c9767879ab05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1306c265-b93b-4094-b9b7-3a278e3b05c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1306c265-b93b-4094-b9b7-3a278e3b05c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-78a3ec49-c620-497d-bacd-d99209f41442 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-78a3ec49-c620-497d-bacd-d99209f41442 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e8962756-f2e0-4fdc-abb6-066412896708 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e8962756-f2e0-4fdc-abb6-066412896708 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5ac026ac-c20c-4f54-a9e3-228d45c0f736 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5ac026ac-c20c-4f54-a9e3-228d45c0f736 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b2d38673-7323-4f82-a5bc-6f3589f27125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b2d38673-7323-4f82-a5bc-6f3589f27125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-67c9ae98-e319-479b-b4f0-f2cb297c0946 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-67c9ae98-e319-479b-b4f0-f2cb297c0946 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00161_lessee_admin_cannot_delete_vendor_passthru [0.056577s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00162_lessee_member_cannot_delete_vendor_passthru [0.077235s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00079_owner_reader_cannot_get_boot_device [0.060225s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00203_lessee_member_cannot_set_indicator [0.104676s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00064_third_party_admin_cannot_set_maintenance [0.085860s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00177_owner_admin_can_put_custom_traits [0.055888s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00206_lessee_reader_can_list_portgroups [0.049643s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00082_owner_admin_can_get_supported_boot_devices [0.060856s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00067_owner_member_can_unset_maintnenance [0.063370s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00178_owner_member_cannot_put_custom_traits [0.065492s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00089_owner_reader_get_states [0.078800s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00074_third_party_admin_cannot_set_boot_device [0.071660s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00180_lessee_member_cannot_put_custom_traits [0.055299s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6cd25257-782e-4f12-9aef-8153f9096bb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44e6c302-2fe7-4ad0-8d6b-686e942c0323 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44e6c302-2fe7-4ad0-8d6b-686e942c0323 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9872d711-1e0c-4abd-9cab-fd31db9f4d3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9872d711-1e0c-4abd-9cab-fd31db9f4d3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f19b3cd7-fed7-4a31-8321-ebcbdf948f9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f19b3cd7-fed7-4a31-8321-ebcbdf948f9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bef4d531-5a19-41b5-a610-f643a3a1f692 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bef4d531-5a19-41b5-a610-f643a3a1f692 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-efa53741-1eac-4b12-9464-361111d4ea09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-efa53741-1eac-4b12-9464-361111d4ea09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-130dbfb7-38c0-420c-bee7-2f9bfc899ee1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-130dbfb7-38c0-420c-bee7-2f9bfc899ee1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2dc1c5f-5a20-4524-9491-f954c72a5c1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f2dc1c5f-5a20-4524-9491-f954c72a5c1d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-61299e50-566d-465e-8a4c-70c33d8deb9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00210_third_party_admin_cannot_read_portgroup [0.063741s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00212_owner_member_cannot_add_portgroup [0.051533s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00092_owner_admin_can_put_power_state_change [0.054632s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00181_third_party_admin_cannot_put_custom_traits [0.068576s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00216_owner_admin_can_modify_portgroup [0.086461s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00093_lessee_admin_can_put_power_state_change [0.068540s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-101c88d8-38dc-4b2a-a1f7-a1e7df7d65cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-101c88d8-38dc-4b2a-a1f7-a1e7df7d65cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff7ae94a-77fc-4c54-be37-c157a7167d79 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff7ae94a-77fc-4c54-be37-c157a7167d79 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-60847ee8-b48c-43f1-afd9-8c7397adc303 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-60847ee8-b48c-43f1-afd9-8c7397adc303 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-be6fdd68-1900-4c43-8e89-5b20b5ca8673 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-be6fdd68-1900-4c43-8e89-5b20b5ca8673 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81e7380d-e28b-4177-aed5-59301127388b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81e7380d-e28b-4177-aed5-59301127388b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f22c44dc-f817-4988-b530-78171c4d055a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f22c44dc-f817-4988-b530-78171c4d055a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b370523e-7cac-4324-b97a-a425217eb153 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b370523e-7cac-4324-b97a-a425217eb153 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d30327c-c515-4306-beda-703bf69b7239 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d30327c-c515-4306-beda-703bf69b7239 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00076_lessee_admin_cannot_get_boot_device [0.079855s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00080_lessee_reader_cannot_get_boot_device [0.054606s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00217_owner_member_cannot_modify_portgroup [0.050619s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00095_lessee_member_can_put_power_state_change [0.053235s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00200_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00081_third_party_admin_cannot_get_boot_device [0.061554s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00223_lessee_admin_cannot_delete_portgroup [0.051233s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00201_lessee_reader_not_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00083_owner_member_cannot_get_supported_boot_devices [0.054049s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4d16d17d-53c0-4218-84d4-fa89b665568b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4d16d17d-53c0-4218-84d4-fa89b665568b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-43d7a6c0-903f-4217-abe9-c5bdad97baf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-43d7a6c0-903f-4217-abe9-c5bdad97baf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-51b07665-f632-4747-9b87-2528d551c04e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-51b07665-f632-4747-9b87-2528d551c04e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a38340fe-1902-43fe-8a07-dbce13344119 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a38340fe-1902-43fe-8a07-dbce13344119 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ae3b5d1-0c35-4dc8-b05e-3690bc33f3ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ae3b5d1-0c35-4dc8-b05e-3690bc33f3ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ea45fa7e-075a-4646-90b7-ac13f4ef2707 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ea45fa7e-075a-4646-90b7-ac13f4ef2707 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c676fc7e-87da-4d90-9eff-9f4a6545dbe8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c676fc7e-87da-4d90-9eff-9f4a6545dbe8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b87e9b25-a9e9-4ef6-b978-35c07c2cc614 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b87e9b25-a9e9-4ef6-b978-35c07c2cc614 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00112_third_party_admin_cannot_put_secure_boot_state_change [0.063901s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00115_lessee_admin_can_change_provision_state [0.057574s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00224_lessee_member_cannot_delete_portgroup [0.088429s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00086_owner_admin_can_send_non_masking_interrupt [0.059517s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00202_owner_member_can_set_indicator [0.104943s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00118_owner_admin_can_set_raid_config [0.060996s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00226_owner_reader_can_get_node_portgroups [0.062905s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00088_third_party_admin_cannot_send_non_masking_interrupt [0.063729s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00119_lessee_admin_cannot_set_raid_config [0.062341s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00204_third_party_admin_cannot_set_indicator [0.100343s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00094_owner_member_can_put_power_state_change [0.068137s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-61299e50-566d-465e-8a4c-70c33d8deb9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-07652635-55bc-408d-89e2-459161815c7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-07652635-55bc-408d-89e2-459161815c7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e922ce52-6a58-4c11-b06d-8953abf6be65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-e922ce52-6a58-4c11-b06d-8953abf6be65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12f384a6-719e-42c1-81f0-c276230e275e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12f384a6-719e-42c1-81f0-c276230e275e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c906410a-c9f2-44cc-8b9e-8a52251815bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c906410a-c9f2-44cc-8b9e-8a52251815bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5b38ea0f-2997-4b38-9ad0-896e0f59d8ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5b38ea0f-2997-4b38-9ad0-896e0f59d8ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e37063b5-a839-4626-a45f-40f697f10815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e37063b5-a839-4626-a45f-40f697f10815 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GET: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54bdf6f2-5b7d-4106-ae0d-3974a9ba8122 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-09-07T17:17:48.281450+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "portgroup_uuid": null} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00122_third_party_admin_cannot_set_raid_config [0.066865s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00232_owner_reader_can_read_port [0.058097s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00234_third_party_admin_cannot_read_port [0.070316s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00101_owner_member_can_put_boot_mode_state_change [0.081457s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00133_lessee_member_cannot_set_console [0.066049s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34c1203b-0ae0-48b8-9175-248e805bac0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-34c1203b-0ae0-48b8-9175-248e805bac0b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01b3b959-d3a4-4a84-8d0c-e6d1d954ed29 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01b3b959-d3a4-4a84-8d0c-e6d1d954ed29 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a9e7749c-458f-47b1-a873-fe0b360b8120 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a9e7749c-458f-47b1-a873-fe0b360b8120 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b17000c-908d-4a1d-a294-7ad3d8994944 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b17000c-908d-4a1d-a294-7ad3d8994944 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1a7dfe2-2126-4889-a582-d258b1531640 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b1a7dfe2-2126-4889-a582-d258b1531640 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e519ce1-5c48-4173-b7ec-0ab8bb288cab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e519ce1-5c48-4173-b7ec-0ab8bb288cab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-490d874f-d6c5-41d2-bc52-883c8d9be883 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-490d874f-d6c5-41d2-bc52-883c8d9be883 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/component/magic_light None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eed4198a-ff98-4820-89dc-a663ca523302 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eed4198a-ff98-4820-89dc-a663ca523302 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00208_owner_reader_can_read_portgroup [0.067473s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00209_lessee_reader_can_read_portgroup [0.056359s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00237_owner_member_cannot_add_port [0.094591s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00214_lessee_member_cannot_add_portgroup [0.068583s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00241_owner_admin_can_modify_port [0.056083s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef2493be-d1fe-4b8c-8831-f4729c0e97aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ef2493be-d1fe-4b8c-8831-f4729c0e97aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-66e515a9-8c36-4a20-bfb4-9a241ad4f88e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-66e515a9-8c36-4a20-bfb4-9a241ad4f88e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0518def7-ac94-4f39-b89b-4f7d3967451e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0518def7-ac94-4f39-b89b-4f7d3967451e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0729295c-24c8-463b-9afb-63de85960f2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0729295c-24c8-463b-9afb-63de85960f2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/inject_nmi {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-96017a8e-92ab-42e3-9a11-b9845506dba9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-96017a8e-92ab-42e3-9a11-b9845506dba9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4db5699-77a4-4095-bac4-f85f012b1587 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4db5699-77a4-4095-bac4-f85f012b1587 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-09135ed4-ce21-466a-aded-4a95a0e0a237 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-09135ed4-ce21-466a-aded-4a95a0e0a237 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3a12950e-0aef-46b8-92d9-cfe988ce448c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3a12950e-0aef-46b8-92d9-cfe988ce448c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00221_owner_admin_can_delete_portgroup [0.052760s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00102_lessee_member_can_put_boot_mode_state_change [0.057376s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00242_owner_member_cannot_modify_port [0.049769s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00138_lessee_member_cannot_get_vendor_passthru_methods [0.167239s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00225_third_party_admin_cannot_delete_portgroup [0.060087s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00245_third_party_admin_cannot_modify_port [0.052608s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00140_owner_admin_cannot_get_vendor_passthru [0.085052s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00248_lessee_admin_cannot_delete_port [0.073781s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00105_third_party_admin_cannot_put_boot_mode_state_change [0.270158s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fceb902c-e30b-4028-ba6a-f3f432bea397 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-09-07T17:17:48.347789+00:00", "updated_at": null, "address": "01:03:09:ff:01:01", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "magicfoo", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fceb902c-e30b-4028-ba6a-f3f432bea397 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-09-07T17:17:48.347789+00:00", "updated_at": null, "address": "01:03:09:ff:01:01", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "magicfoo", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports", "rel": "bookmark"}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4eb90c8-3253-4a06-a9f1-590dcd5bbdfd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:48.420422+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4eb90c8-3253-4a06-a9f1-590dcd5bbdfd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:17:48.420422+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "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"}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12e1b44d-5e06-4577-b437-4389016c7546 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-12e1b44d-5e06-4577-b437-4389016c7546 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5c8107bb-25b9-4682-a361-21ae3763751e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5c8107bb-25b9-4682-a361-21ae3763751e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6fc38129-67da-40d0-a894-e939a47c9eb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6fc38129-67da-40d0-a894-e939a47c9eb3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e39221f-8a2d-48a1-b07e-9c2df14b6c49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00227_lessee_reader_can_get_node_porgtroups [0.069006s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00236_owner_admin_cannot_add_ports_to_other_nodes [0.067495s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00107_lessee_admin_can_put_secure_boot_state_change [0.054738s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e0b126f-26a9-432f-8957-2982f438dd26 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7e0b126f-26a9-432f-8957-2982f438dd26 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-831da296-04a3-4bb8-bc30-5e5304465ae6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-831da296-04a3-4bb8-bc30-5e5304465ae6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-059a576e-de02-4482-8003-fd682daddc40 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-059a576e-de02-4482-8003-fd682daddc40 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c7999b1b-526d-4154-9d70-d97203952b58 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c7999b1b-526d-4154-9d70-d97203952b58 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3fe8d50-4861-4e68-9064-7674de883ff6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3fe8d50-4861-4e68-9064-7674de883ff6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a5fc998-7298-424d-985a-f0d4c5b853ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6a5fc998-7298-424d-985a-f0d4c5b853ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0997c331-85db-4e7d-8ccd-0bbf42b4e9b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0997c331-85db-4e7d-8ccd-0bbf42b4e9b0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc9b709c-49ee-4668-9672-5662c57ceba0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dc9b709c-49ee-4668-9672-5662c57ceba0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00145_lessee_reader_cannot_get_vendor_passthru [0.065639s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00239_lessee_member_cannot_add_port [0.065402s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00147_owner_member_cannot_post_vendor_passthru [0.080141s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-54bdf6f2-5b7d-4106-ae0d-3974a9ba8122 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-09-07T17:17:48.281450+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "portgroup_uuid": null} API ACL Testing Path get /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 GET: /v1/ports/abfd8dbb-1732-449a-b760-2224035c6b99 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45bff8bd-1b4f-4e45-b568-68655487daa7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45bff8bd-1b4f-4e45-b568-68655487daa7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d3ac0e3-5a3d-44b2-b82a-92572cd44d2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d3ac0e3-5a3d-44b2-b82a-92572cd44d2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c PATCH: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f22c3cad-786c-4547-90ad-a66e6e9103fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f22c3cad-786c-4547-90ad-a66e6e9103fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c PATCH: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44bfd245-6cc2-4e24-979b-57a394993cff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44bfd245-6cc2-4e24-979b-57a394993cff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd376860-14b9-43af-b439-2b91b60c47aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd376860-14b9-43af-b439-2b91b60c47aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e49ac9e-6a2c-4c5d-a46a-f958b85f4a15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e49ac9e-6a2c-4c5d-a46a-f958b85f4a15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/c50849ca-4a88-4c99-890a-154f927b44bb Openstack-Request-Id: req-31c65c7f-f73e-43ae-996c-053a200eadeb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c50849ca-4a88-4c99-890a-154f927b44bb", "created_at": "2024-09-07T17:17:48.816198+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c50849ca-4a88-4c99-890a-154f927b44bb", "rel": "self"}, {"href": "http://localhost/volume/connectors/c50849ca-4a88-4c99-890a-154f927b44bb", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00260_owner_admin_can_post_volume_connector [0.111538s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00262_third_party_admin_cannot_post_volume_connector [0.058731s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00110_owner_reader_cannot_put_secure_boot_state_change [0.094468s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00246_owner_admin_can_delete_port [0.075268s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00152_owner_admin_cannot_put_vendor_passthru [0.080588s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00113_owner_admin_can_change_provision_state [0.050820s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00277_owner_reader_can_get_volume_target [0.060765s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00153_owner_member_cannot_put_vendor_passthru [0.052969s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00251_owner_reader_can_get_node_ports [0.081691s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00279_third_party_admin_cannot_get_volume_target [0.050626s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00123_owner_admin_can_get_console [0.061325s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00156_lessee_member_cannot_put_vendor_passthru [0.065695s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00284_lessee_admin_can_patch_volume_target [0.061857s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00125_owner_member_can_get_console [0.054034s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00252_lessee_reader_can_get_node_port [0.072394s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00164_owner_reader_get_traits [0.058093s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00285_lessee_member_cannot_patch_volume_target [0.051207s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00136_owner_reader_cannot_get_vendor_passthru_methods [0.050310s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00255_lessee_reader_can_get_ports_by_portgroup [0.056244s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00289_owner_member_cannot_delete_volume_target [0.051131s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e39221f-8a2d-48a1-b07e-9c2df14b6c49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '573208e5-cd41-4e26-8f06-ef44022b3793', 'address': '09:01:02:03:04:09'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46fdd4b6-887f-41cd-9785-e2f64c788248 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46fdd4b6-887f-41cd-9785-e2f64c788248 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6aab5f9a-de35-481f-a36c-d84ac4b78ede X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6aab5f9a-de35-481f-a36c-d84ac4b78ede X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ccf3cc87-a3c2-4b31-91c1-a86219baf941 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ccf3cc87-a3c2-4b31-91c1-a86219baf941 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6fefcbf-4962-41f0-bc1e-74c72ab2b397 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c6fefcbf-4962-41f0-bc1e-74c72ab2b397 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd080234-ae33-4b74-899a-42598841c258 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fd080234-ae33-4b74-899a-42598841c258 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af244d2e-3ca5-4c02-a724-a175ac57fbd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af244d2e-3ca5-4c02-a724-a175ac57fbd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85c820ab-0028-4bc8-adc2-300f85987d3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00257_owner_reader_can_list_volume_connectors [0.069209s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00266_lessee_member_cannot_patch_volume_connectors [0.059820s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-533530ba-493c-4460-a1b8-7ae14836e46c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-533530ba-493c-4460-a1b8-7ae14836e46c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f48d5dc-0906-4e54-8929-8f5371ffb6aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f48d5dc-0906-4e54-8929-8f5371ffb6aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b37eecab-1969-4ec2-a657-ed59145ac19d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b37eecab-1969-4ec2-a657-ed59145ac19d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4564205d-b467-42ef-be85-51c00c911e95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4564205d-b467-42ef-be85-51c00c911e95 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1843fc12-4ad7-4075-b09b-e1c1ff2eee97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1843fc12-4ad7-4075-b09b-e1c1ff2eee97 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7d5ad14-b1ef-4d06-9a8c-f483bc3afea6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d7d5ad14-b1ef-4d06-9a8c-f483bc3afea6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9495f623-fa5e-4351-80db-dcf31cf0ed74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9495f623-fa5e-4351-80db-dcf31cf0ed74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d080031f-61af-4ce0-bf69-7e8dcd44bd7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d080031f-61af-4ce0-bf69-7e8dcd44bd7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00137_lessee_admin_cannot_get_vendor_passthru_methods [0.067445s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00143_lessee_admin_cannot_get_vendor_passthru [0.050016s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/c50849ca-4a88-4c99-890a-154f927b44bb Openstack-Request-Id: req-31c65c7f-f73e-43ae-996c-053a200eadeb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c50849ca-4a88-4c99-890a-154f927b44bb", "created_at": "2024-09-07T17:17:48.816198+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/c50849ca-4a88-4c99-890a-154f927b44bb", "rel": "self"}, {"href": "http://localhost/volume/connectors/c50849ca-4a88-4c99-890a-154f927b44bb", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-574d14c1-14a8-4e8e-a213-9c8977395ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-574d14c1-14a8-4e8e-a213-9c8977395ed7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68133d99-e9b1-494a-9495-19ba76e05b9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:48.909854+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} properties {'redacted_contents': '** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **'} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68133d99-e9b1-494a-9495-19ba76e05b9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:48.909854+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-917755bb-fd38-4d43-84c7-c8edd545c3fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-917755bb-fd38-4d43-84c7-c8edd545c3fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ab16e830-385d-4a45-b8d9-ed60d0fd953e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ab16e830-385d-4a45-b8d9-ed60d0fd953e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-caad1251-7e8e-4b8f-aa5f-c2dcb3d4ea10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-caad1251-7e8e-4b8f-aa5f-c2dcb3d4ea10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7c72d281-17e4-415a-84bc-6cebceb1a8f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7c72d281-17e4-415a-84bc-6cebceb1a8f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00270_third_party_admin_cannot_patch_volume_connectors [0.067965s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00150_lessee_member_cannot_post_vendor_passthru [0.088712s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00294_third_party_admin_cannot_get_node_volume_connectors [0.091959s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00296_lessee_reader_can_get_node_volume_targets [0.064354s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00297_third_part_admin_cannot_read_node_volume_targets [0.053959s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00155_lessee_admin_cannot_put_vendor_passthru [0.083761s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00298_owner_reader_cannot_get_drivers [0.052406s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00278_lessee_reader_can_get_volume_target [0.134423s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00160_owner_reader_cannot_delete_vendor_passthru [0.055559s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00166_third_party_admin_cannot_get_traits [0.048847s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00168_owner_member_cannot_put_traits [0.420436s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00281_lessee_admin_create_volume_target [0.081070s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00183_lessee_reader_get_vifs [0.055957s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00283_owner_member_can_patch_volume_target [0.066948s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00169_lessee_admin_cannot_put_traits [0.096798s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00194_owner_member_can_delete_vifs [0.052225s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00299_lessee_reader_cannot_get_drivers [0.314515s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85c820ab-0028-4bc8-adc2-300f85987d3c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2759f7bf-3ca6-4ab5-be9e-f761789f5ffc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2759f7bf-3ca6-4ab5-be9e-f761789f5ffc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f6b5f642-e06f-41c9-a1f3-5d226941c140 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f6b5f642-e06f-41c9-a1f3-5d226941c140 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd346588-14bd-4956-a434-2274e7b7be9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:49.391784+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd346588-14bd-4956-a434-2274e7b7be9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:49.391784+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"redacted_contents": "** Value redacted: Requires permission baremetal:volume:view_target_properties access. Permission denied. **"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/925f161a-df36-4a55-b232-a9aa9cdbbc40 Openstack-Request-Id: req-d925a19a-453c-43f0-9025-df9921903ab0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "925f161a-df36-4a55-b232-a9aa9cdbbc40", "created_at": "2024-09-07T17:17:49.521706+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/925f161a-df36-4a55-b232-a9aa9cdbbc40", "rel": "self"}, {"href": "http://localhost/volume/targets/925f161a-df36-4a55-b232-a9aa9cdbbc40", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/925f161a-df36-4a55-b232-a9aa9cdbbc40 Openstack-Request-Id: req-d925a19a-453c-43f0-9025-df9921903ab0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "925f161a-df36-4a55-b232-a9aa9cdbbc40", "created_at": "2024-09-07T17:17:49.521706+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/925f161a-df36-4a55-b232-a9aa9cdbbc40", "rel": "self"}, {"href": "http://localhost/volume/targets/925f161a-df36-4a55-b232-a9aa9cdbbc40", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e7d7299-a505-4988-9089-d1f3c7559093 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-6e7d7299-a505-4988-9089-d1f3c7559093 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00286_third_party_admin_cannot_patch_volume_target [0.057468s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00288_lessee_admin_can_delete_volume_target [0.070834s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00290_lessee_member_cannot_delete_volume_target [0.065686s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9b158230-78ff-4f96-9dbd-751a99c43296 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9b158230-78ff-4f96-9dbd-751a99c43296 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46a89ba1-7baa-4eaa-a268-4b249eda9a58 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46a89ba1-7baa-4eaa-a268-4b249eda9a58 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b7cb373-8f27-4b66-8fc1-b0d9fe8e0038 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3b7cb373-8f27-4b66-8fc1-b0d9fe8e0038 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23c30163-4e0a-446f-bd2c-9cda62664870 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-23c30163-4e0a-446f-bd2c-9cda62664870 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa8798e7-de4f-42ba-80d9-ad6238b19f4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa8798e7-de4f-42ba-80d9-ad6238b19f4f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc1080ca-531c-40e1-9c2e-9d9e4bcd9a34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bc1080ca-531c-40e1-9c2e-9d9e4bcd9a34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-818dd90c-fc35-40e3-b263-fcbcc34ac4af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-818dd90c-fc35-40e3-b263-fcbcc34ac4af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ac3885e3-bfe9-4c4f-9f36-0df17352fe0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ac3885e3-bfe9-4c4f-9f36-0df17352fe0a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00205_owner_reader_can_list_portgroups [0.058780s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00211_owner_admin_can_add_portgroup [0.090936s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00215_third_party_admin_cannot_add_portgroup [0.056957s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00291_third_party_admin_cannot_delete_volume_target [0.052100s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00301_owner_reader_cannot_get_drivers_vendor_passthru [0.115031s] ... ok GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ac0f844-df5b-46d3-b537-4ec56249e22f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ac0f844-df5b-46d3-b537-4ec56249e22f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f0dc4bb3-ceb5-4eb3-abc4-d2627165a441 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f0dc4bb3-ceb5-4eb3-abc4-d2627165a441 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-858b76df-ef02-471c-b721-48bc8daaa175 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-858b76df-ef02-471c-b721-48bc8daaa175 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-19d66dfb-541b-4298-870f-1306ecc1a1d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-19d66dfb-541b-4298-870f-1306ecc1a1d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-63cc0374-7671-48d7-b7e4-cccc1e44d8ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-63cc0374-7671-48d7-b7e4-cccc1e44d8ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-205548a9-1cc3-44c1-8510-b3b03375fa28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-205548a9-1cc3-44c1-8510-b3b03375fa28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": []} API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-754effa3-e400-4e1f-84ef-04fdbe8f6b06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-754effa3-e400-4e1f-84ef-04fdbe8f6b06 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e52f1400-c813-4ad7-a429-f807159b30d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e52f1400-c813-4ad7-a429-f807159b30d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00170_lessee_member_cannot_put_traits [0.093188s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00172_owner_admin_can_delete_traits [0.172034s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00220_third_party_admin_cannot_modify_portgroup [0.071278s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00293_lessee_reader_can_get_node_volume_connectors [0.063670s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00309_third_party_admin_cannot_get_conductors [0.070286s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00173_owner_member_cannot_delete_traits [0.051019s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00295_owner_reader_can_get_node_volume_targets [0.061323s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00176_third_party_admin_cannot_delete_traits [0.051157s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbbf4dbc-d8bb-4392-96cc-226c50d125b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbbf4dbc-d8bb-4392-96cc-226c50d125b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58 Openstack-Request-Id: req-c6d579cc-be9c-4d54-bfec-52908a0bde2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58", "created_at": "2024-09-07T17:17:49.753128+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58", "rel": "self"}, {"href": "http://localhost/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58/ports", "rel": "self"}, {"href": "http://localhost/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58 Openstack-Request-Id: req-c6d579cc-be9c-4d54-bfec-52908a0bde2f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58", "created_at": "2024-09-07T17:17:49.753128+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58", "rel": "self"}, {"href": "http://localhost/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58/ports", "rel": "self"}, {"href": "http://localhost/portgroups/2ecaa60a-3ff5-4dec-9c3f-b34803eb5a58/ports", "rel": "bookmark"}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ccc83beb-ccf3-4ae8-b245-ae64d4fc5e1c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ccc83beb-ccf3-4ae8-b245-ae64d4fc5e1c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44884dc4-e003-4b19-a65c-7e18fed0583c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44884dc4-e003-4b19-a65c-7e18fed0583c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6505f76-1bdf-44ff-b89a-9bcfa4265d8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00229_owner_reader_can_list_ports [0.065592s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00230_lessee_reader_can_list_ports [0.053728s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00179_lessee_admin_cannot_put_custom_traits [0.050849s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52a1c6f9-d70d-4a03-a1b2-d47c53f501d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52a1c6f9-d70d-4a03-a1b2-d47c53f501d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d2054ac-1dc8-471b-a412-51dd10222a1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0d2054ac-1dc8-471b-a412-51dd10222a1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b783158-7a42-472b-8250-90002381a0a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b783158-7a42-472b-8250-90002381a0a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-570c7b17-36a7-4f86-a44b-a25d2d90bf4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-570c7b17-36a7-4f86-a44b-a25d2d90bf4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-24c11cd6-2502-4192-887b-734f1fc937d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-24c11cd6-2502-4192-887b-734f1fc937d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7563e0c6-721e-491d-929b-2a8d1b12e83b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7563e0c6-721e-491d-929b-2a8d1b12e83b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e69e090f-6d27-4209-89a9-dfedf5cd4129 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e69e090f-6d27-4209-89a9-dfedf5cd4129 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00310_owner_reader_can_get_allocations [0.093663s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00317_lessee_member_can_delete_their_allocation [0.055230s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00182_owner_reader_get_vifs [0.059014s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00233_lessee_reader_can_read_port [0.092865s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00318_owner_member_can_patch_allocation [0.062763s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00185_owner_admin_can_post_vifs [0.053523s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00235_owner_admin_can_add_ports [0.071683s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00186_lessee_admin_can_post_vifs [0.053025s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00326_third_party_admin_cannot_patch_an_allocation [0.074123s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00303_third_party_admin_cannot_get_drivers_vendor_passthru [0.251299s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00243_lessee_admin_cannot_modify_port [0.058139s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00330_third_party_admin_cannot_read_node_allocation [0.060345s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00250_third_party_admin_cannot_delete_port [0.052300s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00337_third_party_admin_cannot_post_deploy_template [0.055825s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a5baf210-e1e6-433f-a2d3-22a413d43338 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a5baf210-e1e6-433f-a2d3-22a413d43338 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ade6af7-5878-452c-a833-0b9722b4c087 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9ade6af7-5878-452c-a833-0b9722b4c087 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d9f1241a-2133-4909-ac9e-72856909fc46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d9f1241a-2133-4909-ac9e-72856909fc46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-556699c0-648e-4b88-afcd-04bcd3464253 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-556699c0-648e-4b88-afcd-04bcd3464253 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53966e13-1691-459d-8736-dd1d2c7a7b13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53966e13-1691-459d-8736-dd1d2c7a7b13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83a785ca-e7c4-4326-8fbf-b9b5ad69f17c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83a785ca-e7c4-4326-8fbf-b9b5ad69f17c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9989150d-9647-4b27-880d-72ec9e95169e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-9989150d-9647-4b27-880d-72ec9e95169e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb801674-6f8b-417a-a97d-3139cfa636ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": []} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00305_lessee_reader_can_get_bios_settings [0.057961s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e9c6843-9491-477a-ba0c-f828b924a064 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e9c6843-9491-477a-ba0c-f828b924a064 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eba34ed1-e2eb-4f70-bc39-74bab09692ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-eba34ed1-e2eb-4f70-bc39-74bab09692ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e38e6951-9b29-4ad6-aee0-d5c937e3d4af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e38e6951-9b29-4ad6-aee0-d5c937e3d4af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25fac8ab-0723-42d3-9466-4865170b3773 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25fac8ab-0723-42d3-9466-4865170b3773 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-92ee7949-fbf4-46b2-8571-e5daba26154a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-92ee7949-fbf4-46b2-8571-e5daba26154a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bddfffc7-60a2-41ed-bad2-e8ffd190c413 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-bddfffc7-60a2-41ed-bad2-e8ffd190c413 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d4e747a-4b6d-4912-a24a-dd1194fb42b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0d4e747a-4b6d-4912-a24a-dd1194fb42b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b1dfdc53-27db-4a31-94cc-7b87dcde4440 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b1dfdc53-27db-4a31-94cc-7b87dcde4440 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00188_lessee_member_cannot_post_vifs [0.061758s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00306_third_party_admin_cannot_get_bios_settings [0.071195s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00253_third_party_admin_cannot_get_ports [0.086689s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00189_owner_reader_cannot_post_vifs [0.113163s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00307_owner_reader_cannot_get_conductors [0.051311s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00190_lessee_reader_cannot_post_vifs [0.057990s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00311_lessee_reader_can_get_allocations [0.053778s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00191_third_party_admin_cannot_post_vifs [0.058013s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff4ed737-d689-4aba-a1fe-37116d4a4c3a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "e5b86334-655a-49d0-99b6-4b29b9d90fbc", "created_at": "2024-09-07T17:17:49.970535+00:00", "updated_at": "2024-09-07T17:17:49.973577+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e5b86334-655a-49d0-99b6-4b29b9d90fbc", "rel": "self"}, {"href": "http://localhost/allocations/e5b86334-655a-49d0-99b6-4b29b9d90fbc", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff4ed737-d689-4aba-a1fe-37116d4a4c3a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "e5b86334-655a-49d0-99b6-4b29b9d90fbc", "created_at": "2024-09-07T17:17:49.970535+00:00", "updated_at": "2024-09-07T17:17:49.973577+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e5b86334-655a-49d0-99b6-4b29b9d90fbc", "rel": "self"}, {"href": "http://localhost/allocations/e5b86334-655a-49d0-99b6-4b29b9d90fbc", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path delete /v1/allocations/9e3f8bac-9dd5-4865-ac52-7f90ea0bf5e4 DELETE: /v1/allocations/9e3f8bac-9dd5-4865-ac52-7f90ea0bf5e4 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-85540422-c459-439d-9d08-22979b5a4412 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-85540422-c459-439d-9d08-22979b5a4412 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/ad415b07-241c-48ce-a5a9-c4afc8761f1a PATCH: /v1/allocations/ad415b07-241c-48ce-a5a9-c4afc8761f1a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1120271b-3dd3-4dbc-af57-da171faa4200 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ad415b07-241c-48ce-a5a9-c4afc8761f1a", "created_at": "2024-09-07T17:17:50.103746+00:00", "updated_at": "2024-09-07T17:17:50.127724+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ad415b07-241c-48ce-a5a9-c4afc8761f1a", "rel": "self"}, {"href": "http://localhost/allocations/ad415b07-241c-48ce-a5a9-c4afc8761f1a", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1120271b-3dd3-4dbc-af57-da171faa4200 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ad415b07-241c-48ce-a5a9-c4afc8761f1a", "created_at": "2024-09-07T17:17:50.103746+00:00", "updated_at": "2024-09-07T17:17:50.127724+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ad415b07-241c-48ce-a5a9-c4afc8761f1a", "rel": "self"}, {"href": "http://localhost/allocations/ad415b07-241c-48ce-a5a9-c4afc8761f1a", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path patch /v1/allocations/93c7bbc3-e91d-43dc-88c3-72ea24580ca2 PATCH: /v1/allocations/93c7bbc3-e91d-43dc-88c3-72ea24580ca2 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ec24305-f01b-4425-aca1-4a33ed1dcb86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 93c7bbc3-e91d-43dc-88c3-72ea24580ca2 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ec24305-f01b-4425-aca1-4a33ed1dcb86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 93c7bbc3-e91d-43dc-88c3-72ea24580ca2 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af839353-be0b-42ea-aa45-199dc013e5ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af839353-be0b-42ea-aa45-199dc013e5ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c56d42c4-dd14-4a30-a32d-192d928f3892 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c56d42c4-dd14-4a30-a32d-192d928f3892 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f96c44be-3dce-4652-98be-2cfec836bcbc GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f96c44be-3dce-4652-98be-2cfec836bcbc {} {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00347_node_history_get_entry_reader [0.070997s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00349_lessee_node_history_get_member [0.059529s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00315_lessee_admin_can_delete_their_allocation [0.075872s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00192_owner_admin_delete_vifs [0.050304s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6505f76-1bdf-44ff-b89a-9bcfa4265d8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de7f6184-7676-4c7b-b42c-5acde66602e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de7f6184-7676-4c7b-b42c-5acde66602e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1f19ae0-526c-474b-a315-4b0a0a0fb8f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:50.079949+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "portgroup_uuid": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1f19ae0-526c-474b-a315-4b0a0a0fb8f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:50.079949+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "portgroup_uuid": null} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3100274a-6f2b-4006-b5b8-7eab9ad9af09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3100274a-6f2b-4006-b5b8-7eab9ad9af09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2314caa9-84e8-4c77-b892-2ba98f89205f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2314caa9-84e8-4c77-b892-2ba98f89205f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-623047d0-89ea-4762-a632-8369afa0e927 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-623047d0-89ea-4762-a632-8369afa0e927 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-79f5936f-4981-43ac-80d3-4cd0cb5f4ff0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-79f5936f-4981-43ac-80d3-4cd0cb5f4ff0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports GET: /v1/portgroups/5810f41c-6585-41fc-b9c9-a94f50d421b5/ports {} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00256_third_party_admin_cannot_get_ports_by_portgroup [0.103349s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00259_third_party_admin_cannot_get_connector_list [0.057437s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00316_owner_member_can_delete_their_allocation [0.053147s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00263_owner_reader_can_get_volume_connector [0.054594s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00195_lessee_member_cannot_delete_vifs [0.050648s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00264_lessee_reader_can_get_volume_connector [0.061085s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00196_third_party_admin_cannot_delete_vifs [0.048935s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00002_nodes_post_admin [0.214783s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00319_lessee_member_can_patch_allocation [0.091284s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00197_owner_readers_can_get_indicators [0.069569s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00265_third_party_admin_cannot_get_volume_connector [0.085878s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00267_owner_admin_can_patch_volume_connectors [0.054693s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb801674-6f8b-417a-a97d-3139cfa636ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": []} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76448193-b793-4012-ac04-50a13c5ee70d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76448193-b793-4012-ac04-50a13c5ee70d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-945be441-4e33-4b8a-ba33-12770b778a56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-945be441-4e33-4b8a-ba33-12770b778a56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f4dbd26-1c0d-4de7-906f-2473a410e05f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "c57f65d5-d193-4850-b0ff-76d26a22dd31", "created_at": "2024-09-07T17:17:50.431720+00:00", "updated_at": "2024-09-07T17:17:50.432969+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c57f65d5-d193-4850-b0ff-76d26a22dd31", "rel": "self"}, {"href": "http://localhost/allocations/c57f65d5-d193-4850-b0ff-76d26a22dd31", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2f4dbd26-1c0d-4de7-906f-2473a410e05f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "c57f65d5-d193-4850-b0ff-76d26a22dd31", "created_at": "2024-09-07T17:17:50.431720+00:00", "updated_at": "2024-09-07T17:17:50.432969+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c57f65d5-d193-4850-b0ff-76d26a22dd31", "rel": "self"}, {"href": "http://localhost/allocations/c57f65d5-d193-4850-b0ff-76d26a22dd31", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path delete /v1/allocations/f0d49d00-ae50-4144-a083-661cf3b87194 DELETE: /v1/allocations/f0d49d00-ae50-4144-a083-661cf3b87194 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8238aae6-51bf-49fa-9560-b777520314c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8238aae6-51bf-49fa-9560-b777520314c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/f1b5a737-a2d3-4582-a2f8-bfe4e2d40d5d DELETE: /v1/allocations/f1b5a737-a2d3-4582-a2f8-bfe4e2d40d5d GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c73c6814-dc76-4320-9403-7f90d046dc7d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c73c6814-dc76-4320-9403-7f90d046dc7d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/667bdb49-183c-4e3e-a6ea-a1831def31fa PATCH: /v1/allocations/667bdb49-183c-4e3e-a6ea-a1831def31fa [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83eeb0d5-6b65-4a04-b238-f8166468871c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "667bdb49-183c-4e3e-a6ea-a1831def31fa", "created_at": "2024-09-07T17:17:50.648308+00:00", "updated_at": "2024-09-07T17:17:50.668353+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/667bdb49-183c-4e3e-a6ea-a1831def31fa", "rel": "self"}, {"href": "http://localhost/allocations/667bdb49-183c-4e3e-a6ea-a1831def31fa", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83eeb0d5-6b65-4a04-b238-f8166468871c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "667bdb49-183c-4e3e-a6ea-a1831def31fa", "created_at": "2024-09-07T17:17:50.648308+00:00", "updated_at": "2024-09-07T17:17:50.668353+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/667bdb49-183c-4e3e-a6ea-a1831def31fa", "rel": "self"}, {"href": "http://localhost/allocations/667bdb49-183c-4e3e-a6ea-a1831def31fa", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00320_third_party_admin_can_get_allocations [0.064131s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00322_third_party_admin_cannot_create_allocation_with_owner_node [0.054823s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00003_nodes_post_member [0.129234s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00324_owner_admin_can_create_allocation_with_their_uuid [0.063296s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00009_nodes_get_admin [0.057063s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00269_owner_member_can_patch_volume_connectors [0.073132s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c3f7f6b-c354-4cdc-9040-81611524631a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c3f7f6b-c354-4cdc-9040-81611524631a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bae11f8b-534c-44a2-917c-b4474454dcce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-bae11f8b-534c-44a2-917c-b4474454dcce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b96cf61c-4f21-4c24-b2d7-e1ff6dabf104 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b96cf61c-4f21-4c24-b2d7-e1ff6dabf104 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0f6cff8-aa5b-41b5-99b3-0a2a8bf63f84 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0f6cff8-aa5b-41b5-99b3-0a2a8bf63f84 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-420be405-7ddd-4856-b15e-e9943e6d8526 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-420be405-7ddd-4856-b15e-e9943e6d8526 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c85019f1-3fc8-4d0e-9d1d-4f4a021cbc7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c85019f1-3fc8-4d0e-9d1d-4f4a021cbc7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-27637ee7-e0f4-4c15-a574-31f5cecac335 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-27637ee7-e0f4-4c15-a574-31f5cecac335 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cbf03a64-8c20-4594-a4b2-8018e43b59d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cbf03a64-8c20-4594-a4b2-8018e43b59d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators {} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00198_lesse_readers_can_get_indicators [0.096943s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00011_nodes_detail_get_admin [0.052985s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00207_third_party_admin_cannot_list_portgroups [0.102107s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00325_third_party_admin_cannot_read_an_allocation [0.065711s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00333_third_party_admin_cannot_delete_allocation [0.053469s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00213_lessee_admin_cannot_add_portgroup [0.071453s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9acba6b4-a088-4525-821e-06757db98e8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9acba6b4-a088-4525-821e-06757db98e8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd69426c-b835-429a-b496-a3ee1e8587f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd69426c-b835-429a-b496-a3ee1e8587f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": []} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1070c9e2-7cc2-4635-8028-deed431fd671 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:50.564479+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1070c9e2-7cc2-4635-8028-deed431fd671 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:50.564479+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ed1a51b-7e89-4926-b959-ad03c01b500f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:50.626775+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ed1a51b-7e89-4926-b959-ad03c01b500f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:17:50.626775+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e58500a2-3b03-4d10-a41d-a2d88bc7bec2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e58500a2-3b03-4d10-a41d-a2d88bc7bec2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-854da04a-c02d-45d9-a55e-508cbb0148c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-854da04a-c02d-45d9-a55e-508cbb0148c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c1cad62-52bf-4296-9060-d234b8fb0a7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8c1cad62-52bf-4296-9060-d234b8fb0a7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa2af8a7-db83-49a4-a151-5875976fdd86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00271_owner_admin_can_delete_volume_connectors [0.074287s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00272_lessee_admin_can_delete_volume_connectors [0.062306s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.101725s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00218_lessee_admin_cannot_modify_portgroup [0.056412s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00341_third_party_admin_cannot_create_chassis [0.076701s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00275_lesse_reader_can_get_targets [0.061293s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.054423s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00342_node_history_get_admin [0.054369s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00219_lessee_member_cannot_modify_portgroup [0.069494s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00276_third_party_admin_cannot_get_target_list [0.060895s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.050828s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00345_node_history_get_entry_admin [0.051185s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00222_owner_member_cannot_delete_portgroup [0.051652s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00024_nodes_validate_get_member [0.048406s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00280_owner_admin_create_volume_target [0.061007s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.052871s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00228_third_party_admin_cannot_get_portgroups [0.067502s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00287_owner_admin_can_delete_volume_target [0.072290s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.054838s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00231_third_party_admin_cannot_list_ports [0.051668s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3c920f16-5a70-49f1-84de-3981f73b331d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3c920f16-5a70-49f1-84de-3981f73b331d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": []} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65b1f6be-2399-4cfa-a493-12d232e45750 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65b1f6be-2399-4cfa-a493-12d232e45750 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'node': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3df9c3bc-0f91-41f0-b4df-1a498fa98060 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3df9c3bc-0f91-41f0-b4df-1a498fa98060 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/7ef29a89-f8f0-4cda-9a23-8f4b4df39bd1 GET: /v1/allocations/7ef29a89-f8f0-4cda-9a23-8f4b4df39bd1 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-63943087-52a3-4b46-913c-40e5ccd42314 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7ef29a89-f8f0-4cda-9a23-8f4b4df39bd1 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-63943087-52a3-4b46-913c-40e5ccd42314 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7ef29a89-f8f0-4cda-9a23-8f4b4df39bd1 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0de8015a-0422-4f82-b08d-4d86d3623a8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0de8015a-0422-4f82-b08d-4d86d3623a8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5c04e565-a4d4-4f43-b22a-1835ea79e080 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5c04e565-a4d4-4f43-b22a-1835ea79e080 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dbdb29d3-0532-4f60-9e70-d4a2d8d6a595 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "d14a38dd-6bdf-4c0c-b444-1725cb823e34", "created_at": "2024-09-07T17:17:51.084436+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d14a38dd-6bdf-4c0c-b444-1725cb823e34", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dbdb29d3-0532-4f60-9e70-d4a2d8d6a595 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "d14a38dd-6bdf-4c0c-b444-1725cb823e34", "created_at": "2024-09-07T17:17:51.084436+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/d14a38dd-6bdf-4c0c-b444-1725cb823e34", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/0af4085c-26a7-4139-9a6b-aa639f9b3870 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/0af4085c-26a7-4139-9a6b-aa639f9b3870 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9083b7eb-3b5c-4ecb-b169-4b7f916d6e20 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9083b7eb-3b5c-4ecb-b169-4b7f916d6e20 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/c5d92a31-5455-44a8-a081-d2d9e17ac349 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/c5d92a31-5455-44a8-a081-d2d9e17ac349 {} {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00346_node_history_get_entry_member [0.076845s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00348_lessee_node_history_get_admin [0.076542s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00308_lessee_reader_cannot_get_conductors [0.067695s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00238_lessee_admin_cannot_add_port [0.056780s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00350_lessee_node_history_get_reader [0.051851s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00351_lessee_node_history_get_entry_admin [0.058440s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aee0edb0-c1d8-4e0e-a503-d0141a64c949 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f96c44be-3dce-4652-98be-2cfec836bcbc", "created_at": "2024-09-07T17:17:50.368560+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f96c44be-3dce-4652-98be-2cfec836bcbc", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aee0edb0-c1d8-4e0e-a503-d0141a64c949 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f96c44be-3dce-4652-98be-2cfec836bcbc", "created_at": "2024-09-07T17:17:50.368560+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/f96c44be-3dce-4652-98be-2cfec836bcbc", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-db07e7d3-3b98-416f-b2ae-72ac3a305bdd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-db07e7d3-3b98-416f-b2ae-72ac3a305bdd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1b7b0c99-9f68-4391-ab3d-e1679c0fc9f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-35b6e535-09b5-4678-86c8-c12618296017 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-72c039e9-278f-4504-b437-d714ec97be78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4ccc72c7-4d01-4a76-94d4-ed07cc02bdd2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40e1c96d-cdd8-474a-945a-fc3a25132a98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb6df9c1-5fb6-45ea-b570-2dffb5d12fdc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60e2fdb3-35e4-4f83-b868-d44b9b023acc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3e06a4f-9de0-4c82-b0a7-67bb63d8f682 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-16023af2-8afb-4e40-a02f-1e9ff7073d7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-842cf95f-017c-4526-b320-e97999d08759 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.076945s] ... ok ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fa2af8a7-db83-49a4-a151-5875976fdd86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c354ce2c-0915-4211-9f5e-09fbf1ad0baf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c354ce2c-0915-4211-9f5e-09fbf1ad0baf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95d7946e-1af7-40ec-a6d1-23d411898de2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-95d7946e-1af7-40ec-a6d1-23d411898de2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e4230f6-b698-47b7-8357-40039c37e059 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7e4230f6-b698-47b7-8357-40039c37e059 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": []} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/21ed6852-6372-40d8-962d-447a3fad4a16 Openstack-Request-Id: req-c0d486eb-f6e9-416a-a421-52d4a46eccb6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "21ed6852-6372-40d8-962d-447a3fad4a16", "created_at": "2024-09-07T17:17:51.178218+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/21ed6852-6372-40d8-962d-447a3fad4a16", "rel": "self"}, {"href": "http://localhost/volume/targets/21ed6852-6372-40d8-962d-447a3fad4a16", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/21ed6852-6372-40d8-962d-447a3fad4a16 Openstack-Request-Id: req-c0d486eb-f6e9-416a-a421-52d4a46eccb6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "21ed6852-6372-40d8-962d-447a3fad4a16", "created_at": "2024-09-07T17:17:51.178218+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/21ed6852-6372-40d8-962d-447a3fad4a16", "rel": "self"}, {"href": "http://localhost/volume/targets/21ed6852-6372-40d8-962d-447a3fad4a16", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0928ebb6-dd0c-4df3-9cad-458050faef30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0928ebb6-dd0c-4df3-9cad-458050faef30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f9d50ce8-893a-49c0-b527-a9770d70f1b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f9d50ce8-893a-49c0-b527-a9770d70f1b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/8c3195bc-b760-4b78-82e9-5f0b6e299d42 GET: /v1/allocations/8c3195bc-b760-4b78-82e9-5f0b6e299d42 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1281acbe-a826-4013-b309-663ea102a05e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8c3195bc-b760-4b78-82e9-5f0b6e299d42", "created_at": "2024-09-07T17:17:51.359973+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8c3195bc-b760-4b78-82e9-5f0b6e299d42", "rel": "self"}, {"href": "http://localhost/allocations/8c3195bc-b760-4b78-82e9-5f0b6e299d42", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} resource_class CUSTOM_TEST {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.149335s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00312_owner_reader_can_get_their_allocation [0.063471s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00328_owner_reader_can_read_node_allocation [0.101729s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ecc6ef75-8d57-4901-bdda-3cfc8e866b5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ecc6ef75-8d57-4901-bdda-3cfc8e866b5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e9ffa33-25ee-4972-80d5-36855061b359 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e9ffa33-25ee-4972-80d5-36855061b359 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": []} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed7592eb-becb-4f2a-8efe-17774eaaa8ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ed7592eb-becb-4f2a-8efe-17774eaaa8ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-485ef53e-b706-4478-b5f7-30162acfd3e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-485ef53e-b706-4478-b5f7-30162acfd3e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9cef668-9f8e-407d-9842-692f1ae71c54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9cef668-9f8e-407d-9842-692f1ae71c54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-16a043c7-f9c2-4f0c-96b6-8d4c407069a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-16a043c7-f9c2-4f0c-96b6-8d4c407069a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff68033c-94da-4273-9d88-92f1b39c9e52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ff68033c-94da-4273-9d88-92f1b39c9e52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a326012d-c2ae-41bf-b32e-5303bd679d65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a326012d-c2ae-41bf-b32e-5303bd679d65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6bd864f5-2934-4e24-974b-a8ef5c26233c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6bd864f5-2934-4e24-974b-a8ef5c26233c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00240_third_party_admin_cannot_add_port [0.068818s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00244_lessee_member_cannot_modify_port [0.071151s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00353_lessee_node_history_get_entry_reader [0.108117s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00247_owner_member_cannot_delete_port [0.052899s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00044_nodes_states_get_admin [0.066711s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00005_nodes_get_node_admin [0.056116s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00249_lessee_member_cannot_delete_port [0.054976s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00329_lessee_reader_can_read_node_allocation [0.107745s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00048_nodes_states_power_put_member [0.068700s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00007_nodes_get_node_observer [0.053428s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00331_owner_admin_can_delete_allocation [0.061500s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00254_owner_reader_can_get_ports_by_portgroup [0.065997s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00008_nodes_get_node_other_admin [0.048075s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.054204s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00258_lessee_reader_can_list_volume_connectors [0.054540s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00332_lessee_admin_can_delete_allocation [0.066173s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00010_nodes_get_other_admin [0.059947s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.060022s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00261_lessee_admin_cannot_post_volume_connector [0.056819s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00334_owner_reader_cannot_get_deploy_templates [0.062144s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00063_nodes_states_console_get_member [0.061130s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00268_lessee_admin_cannot_patch_volume_connectors [0.056630s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00012_nodes_detail_get_member [0.074956s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.112544s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.130889s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1281acbe-a826-4013-b309-663ea102a05e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8c3195bc-b760-4b78-82e9-5f0b6e299d42", "created_at": "2024-09-07T17:17:51.359973+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8c3195bc-b760-4b78-82e9-5f0b6e299d42", "rel": "self"}, {"href": "http://localhost/allocations/8c3195bc-b760-4b78-82e9-5f0b6e299d42", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db78a5cb-b3bb-4bb7-b744-33053affaabf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d9c9572d-7764-438d-9588-99fdd67cdcfa", "created_at": "2024-09-07T17:17:51.442033+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d9c9572d-7764-438d-9588-99fdd67cdcfa", "rel": "self"}, {"href": "http://localhost/allocations/d9c9572d-7764-438d-9588-99fdd67cdcfa", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-db78a5cb-b3bb-4bb7-b744-33053affaabf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d9c9572d-7764-438d-9588-99fdd67cdcfa", "created_at": "2024-09-07T17:17:51.442033+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/d9c9572d-7764-438d-9588-99fdd67cdcfa", "rel": "self"}, {"href": "http://localhost/allocations/d9c9572d-7764-438d-9588-99fdd67cdcfa", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-09eca4a6-b526-4e72-a319-00e779e85c4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "41a1ec74-d908-4158-9110-e6bebf70b9e0", "created_at": "2024-09-07T17:17:51.564541+00:00", "updated_at": "2024-09-07T17:17:51.566166+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/41a1ec74-d908-4158-9110-e6bebf70b9e0", "rel": "self"}, {"href": "http://localhost/allocations/41a1ec74-d908-4158-9110-e6bebf70b9e0", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-09eca4a6-b526-4e72-a319-00e779e85c4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "41a1ec74-d908-4158-9110-e6bebf70b9e0", "created_at": "2024-09-07T17:17:51.564541+00:00", "updated_at": "2024-09-07T17:17:51.566166+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/41a1ec74-d908-4158-9110-e6bebf70b9e0", "rel": "self"}, {"href": "http://localhost/allocations/41a1ec74-d908-4158-9110-e6bebf70b9e0", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-77cc47f9-e93e-4e13-906f-44ef55b1eb4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-77cc47f9-e93e-4e13-906f-44ef55b1eb4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a9bf85d7-d119-4c52-8c2b-974440abf785 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a9bf85d7-d119-4c52-8c2b-974440abf785 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f1e216c9-012c-48de-bb3c-46aaea8c80e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f1e216c9-012c-48de-bb3c-46aaea8c80e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f366d9d3-1862-41ad-80d5-b103600a3145 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00335_lessee_reader_cannot_get_deploy_templates [0.087423s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00339_lessee_reader_cannot_access_chassis [0.156234s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81f8418c-6959-4f00-8b27-1b8ad976b5c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81f8418c-6959-4f00-8b27-1b8ad976b5c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9f1b017b-b28c-4f2f-9458-d6a424d534e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9f1b017b-b28c-4f2f-9458-d6a424d534e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84956810-0c14-42fc-a6bd-a603d92583ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-84956810-0c14-42fc-a6bd-a603d92583ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0d9f70b1-54f4-4331-80a4-cf8c13a699af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0d9f70b1-54f4-4331-80a4-cf8c13a699af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50a03fa8-94d4-44c0-a6e3-f5eb46f5fffa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50a03fa8-94d4-44c0-a6e3-f5eb46f5fffa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49696262-2433-4caf-af34-4e1b3d7420f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-49696262-2433-4caf-af34-4e1b3d7420f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d55b5aa-8bfa-4528-9b00-0797d6460df4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7d55b5aa-8bfa-4528-9b00-0797d6460df4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ff86ef4-39d6-42cb-9062-9c87890fbec7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ff86ef4-39d6-42cb-9062-9c87890fbec7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00340_third_party_admin_cannot_access_chassis [0.106759s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00273_third_party_admin_cannot_delete_volume_connector [0.055106s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00274_owner_reader_can_get_targets [0.119236s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00282_third_party_admin_cannot_create_volume_target [0.086333s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-803f6543-3f84-4564-9feb-193386d06aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c5d92a31-5455-44a8-a081-d2d9e17ac349", "created_at": "2024-09-07T17:17:51.202542+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/c5d92a31-5455-44a8-a081-d2d9e17ac349", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-803f6543-3f84-4564-9feb-193386d06aa0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c5d92a31-5455-44a8-a081-d2d9e17ac349", "created_at": "2024-09-07T17:17:51.202542+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/c5d92a31-5455-44a8-a081-d2d9e17ac349", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90d038d2-096f-45dc-8446-9d4c9f5e349f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90d038d2-096f-45dc-8446-9d4c9f5e349f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b6b97629-6887-4598-99d6-4338181f8b61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b6b97629-6887-4598-99d6-4338181f8b61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cf8d3bb5-6969-48c9-ab56-349e1793e439 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/cf8d3bb5-6969-48c9-ab56-349e1793e439 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1b5f8c0a-cf51-4684-a65a-a4dc39b770f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1b5f8c0a-cf51-4684-a65a-a4dc39b770f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/816509be-2d99-4f18-879b-673ea51bc59b GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/816509be-2d99-4f18-879b-673ea51bc59b {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-29fa277f-1a45-4c76-88e6-cc7152cb6421 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-29fa277f-1a45-4c76-88e6-cc7152cb6421 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62f36489-b690-4b69-a9f7-eb8916ab32b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2a9fc292-60f6-4e3f-8f14-7cf3dad7c26b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a22fa09-a281-41b9-bb4a-ff6b153044d0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83deabae-f91d-45f5-9220-0411f3c3d66c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-83deabae-f91d-45f5-9220-0411f3c3d66c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-43e5ea8b-5db4-4b7e-b33d-d88da549454a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00015_nodes_node_ident_get_member [0.079303s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.121307s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00292_owner_reader_can_get_volume_connectors [0.060246s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.114697s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00082_nodes_traits_get_admin [0.093994s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00300_third_party_admin_cannot_get_drivers [0.050104s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00083_nodes_traits_get_member [0.054473s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00023_nodes_validate_get_admin [0.092333s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00302_lessee_reader_cannot_get_drivers_vendor_passthru [0.052548s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00343_node_history_get_member [0.114383s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00086_nodes_traits_put_member [0.052190s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00025_nodes_validate_get_observer [0.065268s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00344_node_history_get_reader [0.077217s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.072222s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.049625s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6c6e4baa-3ff8-4e5f-b906-07fc6da1fc52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6c6e4baa-3ff8-4e5f-b906-07fc6da1fc52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e45e7691-e667-4da7-8fda-846841b744f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e45e7691-e667-4da7-8fda-846841b744f9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e445a15-0d28-4cd3-897e-f479f33ed50c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e445a15-0d28-4cd3-897e-f479f33ed50c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de524267-be6a-4b41-bce6-267d877b7a59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-de524267-be6a-4b41-bce6-267d877b7a59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-382d4cc9-ed8e-4166-b607-3bba21e8397d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-382d4cc9-ed8e-4166-b607-3bba21e8397d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2d1659c4-ca9e-4fb2-b9b5-02e67050f6cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2d1659c4-ca9e-4fb2-b9b5-02e67050f6cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04a4ea9d-48f5-4fda-bdc2-24d1b6bcaa27 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": []} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00304_owner_reader_can_get_bios_setttings [0.069585s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00101_nodes_vifs_post_member [0.062046s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00313_lessee_reader_can_get_their_allocation [0.085782s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00352_lessee_history_get_entry_member [0.087372s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.061696s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00314_owner_admin_can_delete_their_allocation [0.054587s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.052983s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00004_nodes_post_observer [0.101732s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0fe4a6c8-1577-4898-b6cf-dbcdf0a20531 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f6e2652d-b7f4-4da8-a21b-10b9a7228018 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa373120-1bc6-4cf0-ac7b-7de14b40e8a5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4d7b8931-2f13-4342-9f4b-343be1d624a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c39d5159-c22f-4a9e-9484-71cd18796c14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb476af1-3bcb-46f9-90fc-9236ee10ad6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b1b591b8-9dd8-46b0-a7e5-e1b9caf6a242 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-95b70538-e67a-443a-bae0-a27b2a0fc36b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-98c6542a-da7f-4989-bb3f-a930f6bb3b68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d895b9e-4489-4f3c-ba0a-76304f571e1f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-546847f4-0f03-4a1a-9836-3bb4818b9c94 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4bed87ac-df3b-4159-a10a-9c377d1f06d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1378e18-ca8a-45fb-b4d1-61fc06da430d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-90495509-7b0d-4ead-8220-6b4e29ca3315 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.057243s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00321_third_party_admin_can_create_allocation [0.065775s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00049_nodes_states_power_put_observer [0.055655s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.069197s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.059131s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00323_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.051146s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.050304s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.049084s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00131_nodes_portgroups_get_member [0.063956s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00327_third_party_admin_cannot_delete_an_allocation [0.066027s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.069926s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00064_nodes_states_console_put_admin [0.057106s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00142_ports_detail_get_admin [0.050426s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00336_third_party_admin_cannot_get_deploy_templates [0.048409s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00065_nodes_states_console_put_member [0.049896s] ... ok ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f366d9d3-1862-41ad-80d5-b103600a3145 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-411019c8-b1c6-4792-be33-990042cfd125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-411019c8-b1c6-4792-be33-990042cfd125 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3605ffed-6fe4-4f38-98e6-a0451950c905 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3605ffed-6fe4-4f38-98e6-a0451950c905 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6bf3abf-3987-4c29-af47-95f8773a2607 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "dfcb4608-36de-465f-83e7-3481346d05be", "created_at": "2024-09-07T17:17:52.212990+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/dfcb4608-36de-465f-83e7-3481346d05be", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a6bf3abf-3987-4c29-af47-95f8773a2607 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "dfcb4608-36de-465f-83e7-3481346d05be", "created_at": "2024-09-07T17:17:52.212990+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/dfcb4608-36de-465f-83e7-3481346d05be", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ca46363-6c38-4120-9332-da7cebf40ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "0fd0401b-6d8d-4e4b-bea9-e89fd9bf191d", "created_at": "2024-09-07T17:17:52.293160+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/0fd0401b-6d8d-4e4b-bea9-e89fd9bf191d", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4ca46363-6c38-4120-9332-da7cebf40ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "0fd0401b-6d8d-4e4b-bea9-e89fd9bf191d", "created_at": "2024-09-07T17:17:52.293160+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/0fd0401b-6d8d-4e4b-bea9-e89fd9bf191d", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7164529e-91ef-4f35-9fa5-e42f240afde7 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7164529e-91ef-4f35-9fa5-e42f240afde7 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6862bb3e-9ebc-4305-a671-25ffbb5861e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6862bb3e-9ebc-4305-a671-25ffbb5861e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fd49b1e8-e205-4d6d-9290-43a44a4301cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28ad547f-0588-40b8-8566-549a48521b4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7916587c-a204-489a-b189-8fdbaadf2246 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.055163s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.067914s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00338_owner_reader_cannot_access_chassis [0.080935s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00144_ports_detail_get_observer [0.092870s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.054949s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00145_ports_port_id_get_admin [0.049349s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.091929s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a0768cd-64d7-4981-86be-2cadc31d587f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99a6f5ef-b9f9-44c5-a3de-eb9143c55cd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3cd60bca-3d90-4100-b11b-fcd793224472 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3419dd7c-632e-40de-8426-98dd58352d15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0fa2613-bdb8-4b90-b28b-fa5ee312e8bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8079005d-358d-44ed-a584-081437af2521 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8de8b783-256a-49dc-8d84-9c0fa75aa600 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d3f9ebe2-69b4-4b39-8085-932506a71c47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0398aae4-b3be-4ae9-b80f-227b5507f9e7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f39aefda-7f3e-4d69-a81d-b66671f2a508 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aa7d9300-046f-4b37-9526-3e512b9dda8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4edb897a-9ae2-430e-a665-f7d60cf70055 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2092e0df-70ac-4c72-bcc9-c49b849df056 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-159c5aab-b738-4776-bcb0-2a54a90d60aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.049051s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.055767s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.078562s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-04a4ea9d-48f5-4fda-bdc2-24d1b6bcaa27 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": []} API ACL Testing Path get /v1/allocations/c557cbdf-94f0-4394-9baa-b9884b8ec26a GET: /v1/allocations/c557cbdf-94f0-4394-9baa-b9884b8ec26a {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05b0fc9c-d5a1-4e26-8796-88c28cd8b992 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c557cbdf-94f0-4394-9baa-b9884b8ec26a", "created_at": "2024-09-07T17:17:52.387680+00:00", "updated_at": "2024-09-07T17:17:52.389048+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c557cbdf-94f0-4394-9baa-b9884b8ec26a", "rel": "self"}, {"href": "http://localhost/allocations/c557cbdf-94f0-4394-9baa-b9884b8ec26a", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} resource_class CUSTOM_LEASED ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05b0fc9c-d5a1-4e26-8796-88c28cd8b992 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c557cbdf-94f0-4394-9baa-b9884b8ec26a", "created_at": "2024-09-07T17:17:52.387680+00:00", "updated_at": "2024-09-07T17:17:52.389048+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c557cbdf-94f0-4394-9baa-b9884b8ec26a", "rel": "self"}, {"href": "http://localhost/allocations/c557cbdf-94f0-4394-9baa-b9884b8ec26a", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} API ACL Testing Path delete /v1/allocations/0629bfa7-f87e-47be-92c1-4d04aac3bb00 DELETE: /v1/allocations/0629bfa7-f87e-47be-92c1-4d04aac3bb00 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d3fbd127-eb00-4cb2-962a-2bb0c3d17a24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d3fbd127-eb00-4cb2-962a-2bb0c3d17a24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a4714cfc-9db0-4878-94b6-0a76f7cc5e99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a4714cfc-9db0-4878-94b6-0a76f7cc5e99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', 'candidate_nodes': ['1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a2574cd-7ad2-4f3e-b677-4711fa7e6967 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a2574cd-7ad2-4f3e-b677-4711fa7e6967 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881, 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/48c21ad2-2b95-43da-963d-02d4e19e5697 DELETE: /v1/allocations/48c21ad2-2b95-43da-963d-02d4e19e5697 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d603ee3b-f982-43cb-9ab4-610a742bdd6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 48c21ad2-2b95-43da-963d-02d4e19e5697 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d603ee3b-f982-43cb-9ab4-610a742bdd6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 48c21ad2-2b95-43da-963d-02d4e19e5697 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-46cd02ea-0c12-495d-b825-fd6b9b15c220 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-46cd02ea-0c12-495d-b825-fd6b9b15c220 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b45bccd1-17e4-44e9-9ac6-479c05cf212a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} ACL Test GOT Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b45bccd1-17e4-44e9-9ac6-479c05cf212a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00354_third_party_admin_cannot_get_node_history [0.060567s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00006_nodes_get_node_member [0.061847s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.057885s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00150_ports_port_id_patch_observer [0.126304s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.051690s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00013_nodes_detail_get_observer [0.053770s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00085_nodes_traits_put_admin [0.054089s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.060447s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00090_nodes_traits_delete_observer [0.054560s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.064954s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.120590s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.047953s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00045_nodes_states_get_member [0.058634s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.051849s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00161_portgroups_ports_get_member [0.075565s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.051385s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00046_nodes_states_get_observer [0.052934s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00027_nodes_maintenance_put_member [0.071077s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.048553s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.089714s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.091737s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.095482s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.107148s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00047_nodes_states_power_put_admin [0.222178s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.106054s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00097_nodes_vifs_get_admin [0.085740s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.060524s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.047283s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00098_nodes_vifs_get_member [0.052990s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.061237s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00187_volume_targets_post_admin [0.053754s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.049968s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.052456s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00100_nodes_vifs_post_admin [0.056965s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00188_volume_targets_post_member [0.063960s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00057_nodes_states_provision_put_member [0.058798s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00102_nodes_vifs_post_observer [0.055241s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.062817s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.048288s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.059275s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00060_nodes_states_raid_put_member [0.052702s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1209a371-9dc9-4d20-86ec-2f696b9e504b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-26fa187d-5faf-4495-af25-2222e1604030 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c937e45-2e49-4f82-a3c6-4f140fe3d833 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c3bbcaab-c0bb-43b4-b8f8-f15954e05bdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c20665b0-3298-4a49-97dc-a7d715ed44b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7afc1bee-b405-4c14-ae41-09b5b7ea8cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56fa0022-9f4c-4f91-be20-b08bab7e9813 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-96bb841a-5dc5-49d3-a62b-8cbf4165c19c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a6574215-4f18-46d6-b4c2-01e9b8c3fcb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2a082452-d350-4586-bec3-f0e95dbce651 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bcf91d08-79fa-46af-a05d-75cd6f7e081e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-143f1270-80bf-4f6a-a048-25e3fedf803d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1f245b82-a4c7-4867-94a5-ef07f3373330 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eb8d0a13-feea-46de-b76a-f4195e75b81c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00189_volume_targets_post_observer [0.061557s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.111182s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.085285s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.058712s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00066_nodes_states_console_put_observer [0.068897s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-468ff07f-0693-4f71-90ae-46a0dbe4eff0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c278ce18-8570-44e3-8bf0-3806d7930c2b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a691cf4-c581-4ea6-935f-7044f12554d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9acca278-2c0c-46dd-93c2-82c312b065c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dcb8c6f3-ca5a-46d6-9df3-82aa3601847f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9f9bc6d3-fb43-41ff-8c63-cdf53a16628a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d3dcfb37-27e7-48c2-a833-0dceb3ffc355 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c09e05ed-e6f3-4f42-a8f0-6eff3e40dcf7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb0b7029-0227-42b9-9760-40c68bcd3eda X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f968226-e192-4074-b4d9-d570b18ff73a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8bca9c9c-de78-4ed4-9c7e-f995dcbe93d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ddfdb73b-c0c1-4e54-aa10-e1854cbb90de X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0f41e38-00fa-4f28-a27a-69cb97eada44 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7d3343ae-a80f-4ae3-8c44-336f17a361d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00114_portgroups_get_observer [0.047487s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00118_portgroups_detail_get_admin [0.059292s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00120_portgroups_detail_get_observer [0.054174s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.065124s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.109974s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d712cffc-307b-4816-8451-607929d62df0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-11fa94d3-0a4f-4709-bfab-08347e110977 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c00365d-3dc5-40d7-89b7-08f87f08f34b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-234c8c49-2aae-41ec-b213-32544f341d1a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f57e35c3-589e-454c-a458-526389421d29 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-59ec783b-4214-455c-ac49-bf8201cbf260 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a84443ba-c93d-4bb5-b7eb-a9ed2cd394b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a7d72522-d5b9-42d4-a695-6427dfd80296 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52455187-680a-489b-89f1-0b69e34f3463 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-786ac441-2c44-44aa-a5b1-e433251051f7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e6983a4b-8090-47a1-be60-d3ede748afb8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0214099-629c-4f9a-9c5d-cc32f1e6a5d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62bb1d8a-a7db-437c-8dba-cdad38d1a0c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8d20c96-2ce6-41e6-ab81-70f8f08d467d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00062_nodes_states_console_get_admin [0.152499s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.058222s] ... ok API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-775e3a2f-7598-46dd-9087-50ddcce7d667 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-775e3a2f-7598-46dd-9087-50ddcce7d667 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8f91b93-bb18-4288-8dd2-1003ec828986 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1b9c83d2-8392-4246-8d27-e7d802529909 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2706beb2-4ae4-4be6-a6db-54c3e15e873b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9a204d86-20dc-446d-8fc0-8919db400960 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ed62ab3d-0305-46ac-bc10-111277b14ebb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4acb38f0-323c-4511-9d11-f9025e6a62fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-74b26f25-764a-41d3-9833-0a39d204bc09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3db7493c-34e2-4265-8d53-776446046449 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f0ecac2d-ebee-4c74-b8cb-9e318c0bf69c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e21bebad-c74d-4c84-9acc-1073715cb39d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-67e5eb23-4990-4ffc-908a-744d049b51ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-606f41d5-b620-45e4-b2f1-867d7d6c832a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.052061s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.058988s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.054548s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.078913s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.107017s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.054062s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.062688s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.055151s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.048410s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.056728s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.046952s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.047691s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.065493s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.055251s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.064389s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.269959s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00209_drivers_get_member [0.074273s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00099_nodes_vifs_get_observer [0.048017s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.048031s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00210_drivers_get_observer [0.053867s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.051992s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00084_nodes_traits_get_observer [0.073402s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.054830s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00215_drivers_properties_get_member [0.060876s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.046479s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.051717s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00137_ports_get_member [0.234908s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.058499s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00087_nodes_traits_put_observer [0.116506s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.067579s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00139_ports_post_admin [0.048248s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.057770s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00088_nodes_traits_delete_admin [0.076550s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00140_ports_post_member [0.049739s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00112_portgroups_get_admin [0.054991s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00089_nodes_traits_delete_member [0.055680s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00146_ports_port_id_get_member [0.055562s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.085240s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00113_portgroups_get_member [0.044817s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00147_ports_port_id_get_observer [0.047648s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00115_portgroups_post_admin [0.062943s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00149_ports_port_id_patch_member [0.055786s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00116_portgroups_post_member [0.059678s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c7093aa-bd9e-4578-bf3e-35519e3678d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e6ca0ae-0226-4f0d-b872-70a9543e502e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3cf69d82-e223-4c55-92d5-d4e93a15d866 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4f5419e3-f218-4180-bd28-94e3997a27c0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6feca074-038c-48a5-935d-d392f809e3b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37fecd73-0c16-484b-a279-224237731d2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a68ac04-63e7-46e1-9db1-8a999a1214f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2f134bb0-deae-442d-9470-cb639298ff90 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5b4ce569-0e97-4e90-816b-6d7159336e47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a1d616c1-dee1-4db1-bb20-8163e81d842f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-22c443aa-9762-4695-b9e0-103c26ecd82f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-13c3a24a-a819-450e-bd61-ea3de98da514 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-518213d7-700c-414b-96bb-baf58d6f7cfd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-01e3e663-82fa-46b3-b3f3-32c34c2faf6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.070195s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00117_portgroups_post_observer [0.051041s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e0d31987-cd68-4bce-9e43-a6e00d491579 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d8ca21ee-04c1-4ca9-9919-cfe0f4704f84 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d70c9794-a048-4632-b77a-7861eb46443a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f807cd78-56a8-4f2c-b7bb-9466668f91ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-98019b95-895e-4d42-bfb6-01879a85f06d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81a01444-d21d-456d-aa54-fd8de0c443ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-89921138-7b8f-4555-8378-656cfe6679e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8034778b-5185-4ffc-a908-a8f9d00f99a0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e543c23-c9d4-42c0-a74d-2034ddb7b95e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c9cefa10-a328-4fe4-bb5b-e5ca8b7f5460 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-800b4e83-b0b0-45c2-8b46-c9cc7511acaa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a432ade6-57d2-4b4d-8b1f-e7f8299ea652 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8305ef41-bdb6-44d0-af58-e5f8c82b99c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-053ecbf0-53da-4d29-a47a-008d7ff1cc8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00119_portgroups_detail_get_member [0.057948s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.088508s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.064135s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1ba37490-ec49-4deb-bcd1-94da60637132 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6e33a830-1f9f-4d3f-9fa9-7dab073c9b36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9009c11d-2235-4345-8d42-8bc52a840cd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fa175e92-5be0-4353-8f91-903d09fb2126 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5743ceb3-5569-48fc-bf09-b5cc47ba011e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a32099f0-33d3-436e-8fbb-5a17a9f2a652 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-545a1f5a-033f-47e0-ad9f-3cb447d6d74c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b8e90e6-f084-4511-abfb-30de4fabe9aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a08635c0-1740-4bb1-b080-afc21ed8ce50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-358d7521-25e8-4798-83dd-bd4b80ea293a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7adf522c-115d-43f1-8b22-b3664fd46b30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1e07e1be-8e66-47e0-8283-7c37798a0b65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aae066c-dc15-4df6-99b6-60cd8997a18d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ae6a9a9-c337-47d7-adcf-bc1cc4de10cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f5edaa65-ed13-483c-988f-fb1c1830e9bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00153_ports_port_id_delete_observer [0.059884s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00156_nodes_ports_get_observer [0.060985s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.090896s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.057549s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.073129s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.048226s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00160_portgroups_ports_get_admin [0.058192s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.057530s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.058981s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00167_volume_get_member [0.051683s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00136_ports_get_admin [0.055614s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00138_ports_get_observer [0.046670s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00169_volume_connectors_get_admin [0.064111s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00141_ports_post_observer [0.047140s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00234_nodes_bios_get_admin [0.268046s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00170_volume_connectors_get_member [0.054337s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00154_nodes_ports_get_admin [0.049205s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-030ae090-b28a-4561-aa48-4106e655c8f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-487f5445-4dd7-4c74-a2fa-93779b8a0179 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7c7f6c83-fd45-4070-ae4d-5da0d88e3659 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c743d7e-cba8-4270-ad2c-675ddeb34518 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1035f40d-bd7e-4718-a929-8e679616e3ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-360543e6-c4fc-4598-b208-2000014d157f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-de28ed58-88d6-4847-aea7-f6542d9a66fc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1eb88562-f06b-4427-aa63-cdd93e616068 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9d76fb56-ea77-4023-bc98-1f1df30c9ec4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-44f5bab6-1098-4c0c-a4de-a79efbe29a55 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2703b0cb-80e9-4c37-9da6-14943b8c2ce6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ca4e40c2-f23e-412f-942b-36721821b9a8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dda66702-7a37-4caa-90e7-08e657a6b2ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-be5ce54c-9283-4882-9e97-8cdb8049d812 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d6778a4e-03f7-4176-97be-4ec8d030d292 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00143_ports_detail_get_member [0.050221s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00148_ports_port_id_patch_admin [0.053537s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00172_volume_connectors_post_admin [0.057237s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00151_ports_port_id_delete_admin [0.054892s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00162_portgroups_ports_get_observer [0.058103s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.107722s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00173_volume_connectors_post_member [0.053397s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00168_volume_get_observer [0.045227s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00152_ports_port_id_delete_member [0.060144s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00241_conductors_get_member [0.056937s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00174_volume_connectors_post_observer [0.049948s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.055346s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00155_nodes_ports_get_member [0.054417s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00242_conductors_get_observer [0.051316s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.050261s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.048725s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.057831s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00250_allocations_get_member [0.057902s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.051274s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00185_volume_targets_get_member [0.048188s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.064975s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00184_volume_targets_get_admin [0.051083s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.051952s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.087391s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00186_volume_targets_get_observer [0.055404s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.055872s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.076129s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.050432s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.052617s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00262_nodes_allocation_get_member [0.129375s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00166_volume_get_admin [0.047582s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b4bdaa67-1d4a-4cde-9303-b3f4266cb4cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1096e72d-9596-4da0-ad06-f19926243faa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-35a6003a-acc8-49e1-9f89-34758ce23cd4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2879f057-a159-43fe-a9ae-95eec5c6af4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-208a0f01-092e-4b58-aa25-849e3d6d6859 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-94806c54-59dd-4b97-bc4d-238f762e133b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5b7ecc0e-aab0-4783-bf55-7a4b98119437 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e79c31e-8043-4ff1-93c1-e7b29870baf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a1b1bddc-e6e5-4212-a948-846cb2321793 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81d8778e-13a9-474e-99db-9b1d4944867e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-36356794-d175-4a26-bf37-05bf4ce01920 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2c2bcbfc-d83e-46f8-b57a-40c80e51d5e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-235ed408-a00c-4c5a-b546-28f47fbdad0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1f07da22-2218-405f-b9c3-cb5ce42ed916 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4d4fead-bdd3-482a-a93e-db1140c6f307 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00199_nodes_volume_get_admin [0.047814s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00265_nodes_allocation_delete_member [0.076252s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00171_volume_connectors_get_observer [0.061853s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-377c0e28-f281-481f-bcbb-72c8affbf063 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c258f587-ee99-47cc-93f5-ba8278fb8c68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3f04ef12-15b7-412f-bdad-bde6ae0e1be3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-16781b3b-f95b-492a-b8bc-f25f49343859 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-115299d7-e1e1-458e-9370-88a643c42383 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-47519348-dd2a-41b7-ac87-87b63e3c2196 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-00b4b285-aecc-4752-940c-f341adc32996 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-85b7badc-2169-4345-9645-a0e1691fa360 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0faf76af-e565-48c0-8e04-c2d2ce774ecd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7aeaab55-2890-4182-98be-eeadbac4c3dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c5ef2838-2904-41c7-86dc-e58cf052c61e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ec19f61-dbeb-4d1d-9189-b9875775a37a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0972250f-901f-4a85-a4db-c37134a0673b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b7055b72-ade1-4126-abb3-395d61a57ef6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23d26395-ea14-4446-93de-eaccf93ecf4c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00201_nodes_volume_get_observer [0.046018s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.065151s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.143985s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.046702s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.055580s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.055882s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.049447s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00284_chassis_post_observer [0.050250s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00208_drivers_get_admin [0.051601s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.050675s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.070653s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00212_drivers_driver_name_get_member [0.048637s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00286_chassis_get_member [0.061606s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.051803s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.047934s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.075392s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.049086s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.122250s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.052359s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.059225s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00246_allocations_post_admin [0.059438s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.087102s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00236_nodes_bios_get_observer [0.060477s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.056270s] ... ok API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b57c5222-de60-47e9-8198-1af8e067239e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a87e0d54-7c70-45da-a422-415a54c37af2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d32712c4-34d1-4ab1-86ee-8487599d6566 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-97a4b39e-71f4-45d5-bf7b-45e48754c34e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c033a005-890f-4066-80a9-6a701015c475 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-05dad62a-a74e-41c0-977d-748a27d4d7f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/c596432a-b733-410f-99f5-f0f8181b2a71 PATCH: /v1/allocations/c596432a-b733-410f-99f5-f0f8181b2a71 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a38b59ab-b908-42c0-acc8-dbf0026dc639 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c596432a-b733-410f-99f5-f0f8181b2a71 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e4ac51bd-09c9-4214-8d9b-961e6fa5e5bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-83ceb37b-baa6-4362-8262-2ceda117a7c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/ed9c3fa5-9174-42fc-bf40-4eb31307598b PATCH: /v1/deploy_templates/ed9c3fa5-9174-42fc-bf40-4eb31307598b [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-86dc6768-9bb4-4773-a14c-62410c6ecec3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eb190aa8-b982-4834-b51e-80f5d4044349 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-12de1f81-ec0c-4c6f-923e-5227744a9648 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-52094001-aa9c-4848-9164-37cf8ccbde4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-912aae9d-9de3-4246-ae5c-b8580db826b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00305_node_history_get_entry_observer [0.084277s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.051964s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.078874s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00007_nodes_get_node_observer [0.077000s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.047036s] ... ok GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f25c40a9-8546-475c-8cbf-2929dbfa8cee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1cd3d11b-6283-4acf-be8f-9a8df4aef7ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-515db65d-3298-4a0c-9c96-a6681e822cbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-249ae96f-96d6-42f0-995b-9cc5509425c4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8bb4edc0-9995-4705-a53f-9b93313afbb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-08ede8d5-c0d6-41e4-9e4f-b38ff34e0828 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4bd821e6-af6f-42d8-a3b8-05344d207863 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc4f3d4b-5f6c-4f3e-a702-c211e58a18ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-71736041-177f-4e84-8932-384cc30859fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e21369f4-f724-487e-9e2c-7e1ee515b966 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e185534-3be1-4db0-8413-ac7c4766760d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23c6ffde-4ecc-43ed-9d1a-c0814b0ff9f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a40bc56-c3b3-49b4-845f-85deef37a10a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40c48481-ac66-41cd-ad66-b6f3fa3a89cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ba651bb-19dc-4237-8464-d8dea05c935b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00200_nodes_volume_get_member [0.071657s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00243_conductors_hostname_get_admin [0.059982s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.076595s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00263_nodes_allocation_get_observer [0.060657s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00009_nodes_get_admin [0.089982s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00248_allocations_post_observer [0.057138s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00214_drivers_properties_get_admin [0.051722s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.048377s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00251_allocations_get_observer [0.045551s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00216_drivers_properties_get_observer [0.050947s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00014_nodes_node_ident_get_admin [0.095094s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.055660s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.057990s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.056044s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00269_deploy_templates_post_observer [0.058378s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00016_nodes_node_ident_get_observer [0.064241s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.049248s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.105980s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00026_nodes_maintenance_put_admin [0.112377s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3392016f-99a1-4211-8081-4f173e90b2d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-87ae9ac8-d907-48e1-ac37-b5ccdf548dd7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c51011f4-ebfa-40e7-8ee2-5f5ecaaaf44b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c7f16146-e3f4-41dd-84be-52ee9675f074 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fe170dbd-6bd1-4a3c-9860-9462092bcbc3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1381a83c-e3aa-46f8-a585-268e6b2debf1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1ff0b70c-11b0-42a2-baa0-84b7a4d8b49f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/dbb8bb96-f5b0-46fc-b611-51aa10b5c31c GET: /v1/allocations/dbb8bb96-f5b0-46fc-b611-51aa10b5c31c {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ca8de4ab-9fca-48d7-8e46-6141e1d515bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation dbb8bb96-f5b0-46fc-b611-51aa10b5c31c could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/d32a6f41-024b-4f86-8038-e6725ec6b8c0 GET: /v1/allocations/d32a6f41-024b-4f86-8038-e6725ec6b8c0 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c3f188ce-2273-40b6-a017-c9475c8f3d0f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation d32a6f41-024b-4f86-8038-e6725ec6b8c0 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/6db7bf59-4b5e-4cbf-bd8a-01b087fa7346 DELETE: /v1/allocations/6db7bf59-4b5e-4cbf-bd8a-01b087fa7346 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c32d6012-f519-4d04-b32e-518f39f95e9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6db7bf59-4b5e-4cbf-bd8a-01b087fa7346 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c09baed1-a44c-49dc-8823-8575dca6a068 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-276ec671-faea-461b-9d9c-597ed60c36d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e87ac359-d2a8-4a72-a3a6-55d706c14331 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0e0a121a-d6b5-478b-a870-1f2e12d086d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00270_deploy_templates_get_admin [0.052320s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.087384s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8efe6b44-85e6-4575-8a4c-58a8ededaedc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-02d1e890-3d55-4f25-bd48-347afc14a83e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56c45de8-6939-46e2-8702-85b278d9bdd1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-25972d3b-8cf8-4fbc-9ee0-29f8d8a22c4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4dc4f2b0-f127-435b-97b1-9ab8b8b0bfb6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-66fbaf38-046c-4ec4-9fa7-25dc6cc6abba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2e007e11-ae08-480f-b345-e5753dd43d99 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-45b51159-43ec-4a89-9214-c2b45ac33265 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e47e9d4f-29b2-4160-8ce4-5458bb45af6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3fb66541-ac47-411e-9aeb-d8dc1db6cf77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4c8648a0-128a-421c-bdc5-665e871750b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f4fe7715-d9fd-49a8-9581-52de2d197ad6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/485519eb-3a9b-495d-8bd0-4afa41d64ee9 GET: /v1/allocations/485519eb-3a9b-495d-8bd0-4afa41d64ee9 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ef997515-b4de-4e43-b55f-534cbabd934c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 485519eb-3a9b-495d-8bd0-4afa41d64ee9 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/2f1b5ed4-c6a3-46a0-976a-5cff2c4b8c15 GET: /v1/deploy_templates/2f1b5ed4-c6a3-46a0-976a-5cff2c4b8c15 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-df55e991-9438-450e-92d3-5580bfad9ff9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/a9069d6a-656b-4461-976b-776c77db24f2 GET: /v1/deploy_templates/a9069d6a-656b-4461-976b-776c77db24f2 {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.057102s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.052303s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00029_nodes_maintenance_delete_admin [0.063631s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.112418s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00287_chassis_get_observer [0.069615s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.069046s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00032_nodes_management_boot_device_put_admin [0.055283s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.058921s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.057030s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00282_chassis_post_admin [0.052675s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00034_nodes_management_boot_device_put_observer [0.054545s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.046919s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.051935s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00288_chassis_detail_get_admin [0.054517s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00036_nodes_management_boot_device_get_member [0.066016s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00290_chassis_detail_get_observer [0.048263s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.070022s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00303_node_history_get_entry_admin [0.075316s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00037_nodes_management_boot_device_get_observer [0.054259s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.050196s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.048714s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00040_nodes_management_boot_device_supported_get_observer [0.054829s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00005_nodes_get_node_admin [0.101542s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00235_nodes_bios_get_member [0.057897s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.056375s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00047_nodes_states_power_put_admin [0.062453s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00008_nodes_get_node_other_admin [0.052688s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00300_node_history_get_admin [0.059909s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00010_nodes_get_other_admin [0.051320s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00048_nodes_states_power_put_member [0.059868s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.111478s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00301_node_history_get_member [0.054504s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00011_nodes_detail_get_admin [0.050085s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00304_node_history_get_entry_member [0.063708s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/72996b07-dbed-4560-b1a9-79f76349c4da GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/72996b07-dbed-4560-b1a9-79f76349c4da {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-48726d95-9a4f-4362-9f69-9dfe1911f6d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ab3bc8b6-3166-42b1-b898-4e7147734f31 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-88d8ea9e-13b8-4c8b-8bbe-f1169fe33fac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6f5cfb68-348a-4eaf-8845-1e2111907b08 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a78d66ec-7816-40b0-a80c-e13da0172874 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3563fff-f499-4c3c-b9a4-0cef41134cc7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b6440da-9cd6-4432-9a1f-cb5c65c92942 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56385e64-f4ce-4757-8fd2-ccf45f0890a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5bc6e2d1-4454-473d-81f8-5ef4cd215c1f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60b7ff82-3ba1-4a12-9bfe-6163f818cc6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-01522b6d-a5b7-4580-9a59-2b000cc52dd4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e06628cd-9de0-49b5-bc4f-3758a635ba2c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dbbfacc0-a4d5-4930-833b-1ab7c0fd2f5e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-20377289-d413-4d57-b2bd-192706162ee0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00050_nodes_states_boot_mode_put_admin [0.056288s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00013_nodes_detail_get_observer [0.086635s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00240_conductors_get_admin [0.131302s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00001_values ... SKIPPED: These are fake reference values for YAML templating {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00015_nodes_node_ident_get_member [0.048524s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00051_nodes_states_boot_mode_put_member [0.132645s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00006_nodes_get_node_member [0.071225s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00018_nodes_node_ident_patch_member [0.050453s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00057_nodes_states_provision_put_member [0.073698s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5ea8fd9a-16fb-46a7-80cd-6ecbe45043c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e6fc1a99-5e53-40d2-8fc6-a5cf530f4741 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-55f23cd4-4df5-486e-94ff-796c7ec64ebc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-969d57b3-e09a-43e0-9c28-0d466b969472 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f09b795d-e393-4b6b-a056-3d2bb9b16a65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-363d0a07-3fd7-41df-ab02-6b751668c16e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e96b223b-f5e5-46e3-a0f6-97429944bf18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5d34b19b-687c-49e0-9a2f-5c2ba2420e20 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-46c1fbc1-c2e5-4b6b-a9aa-8dbf5048c312 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0a949f9a-76a1-4fc3-a1d3-e1ab8b88d3c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7414bffb-2d83-4cfe-9705-63795c7abef5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3d4c7192-cd7d-4b81-8d99-0b9bf8a3843e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ad310a7b-64bb-452c-9c88-af3a1bb804dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00244_conductors_hostname_get_member [0.088308s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00021_nodes_node_ident_delete_member [0.047969s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00245_conductors_hostname_get_observer [0.074380s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00061_nodes_states_raid_put_observer [0.061817s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00063_nodes_states_console_get_member [0.062037s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-edee4866-f58f-43c1-ac82-2c7adf614b77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/06cbd19f-9be5-491d-b27d-b7d53b6a5e2c DELETE: /v1/deploy_templates/06cbd19f-9be5-491d-b27d-b7d53b6a5e2c GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3ed94e1a-8ec7-44ba-9e51-b5a624a3506d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3e899195-8486-4b71-b63b-2e09288839a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5dc4c25e-f86d-4e75-b53d-4f10e2a01be8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-8fc79fa1-0e88-440c-bb12-26e8d14e1894 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/32af6b4d-6928-4419-a698-4627dd6cf5ff GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/32af6b4d-6928-4419-a698-4627dd6cf5ff {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4353ec7b-fd2e-4b5d-a86b-79c82027450e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6165406d-c702-46d7-b808-7d56c69facdb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-639a2551-f193-4506-ba92-563aa2f69c8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20eae7c0-2d2d-4cdf-8323-39de734b5bec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-20eae7c0-2d2d-4cdf-8323-39de734b5bec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": []} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01f883fe-5c7a-45f7-983d-dd2777e75882 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f1a30b8d-2f2e-4a2d-ba32-6cfdbe9fee8e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b8a75b2f-b374-4863-9097-83e510f076d4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb55a3d2-12fb-49e5-9e94-a0712d4f6325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-68c0d15d-e582-4b01-aaa7-3f822909c08b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00023_nodes_validate_get_admin [0.060257s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00035_nodes_management_boot_device_get_admin [0.048073s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00249_allocations_get_admin [0.073678s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00039_nodes_management_boot_device_supported_get_member [0.059068s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00073_nodes_vendor_passthru_post_admin [0.076613s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.058077s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00044_nodes_states_get_admin [0.049971s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00077_nodes_vendor_passthru_put_member [0.068572s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00045_nodes_states_get_member [0.048039s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.063326s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00046_nodes_states_get_observer [0.049708s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00080_nodes_vendor_passthru_delete_member [0.067738s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f6a2ca55-75ca-4e69-a1c7-5a86cf46f59d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/17cee9b7-12d6-4d53-a856-8df18bd5116d PATCH: /v1/deploy_templates/17cee9b7-12d6-4d53-a856-8df18bd5116d [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ebe23c5f-cfc2-4480-9751-2e917b0d5782 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/be98cc85-35bf-43ad-9185-10e196d6b3b5 PATCH: /v1/deploy_templates/be98cc85-35bf-43ad-9185-10e196d6b3b5 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3c824b52-75ed-4afb-a1c6-5fbf7bf32a71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2f02b873-31c4-4c8a-bd27-c40f7f6aad12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-373d4e7c-ca62-4b1c-ab15-c1616a1109c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-be96460b-803f-4a92-a563-91b9b5636dba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4dddc9e8-7e92-4071-ab6d-1ed6d4dd3e63 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dee63fd3-40b6-4c9d-874c-e935e260ab4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-406fc8af-3513-49cf-b715-d523ed53526c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-14938b7b-7f89-4cbf-92a9-9c8d36680c4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e3481d0-ab66-4253-a861-147b9a6e6537 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8820c46e-9734-4900-a210-bde286f82bee GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8820c46e-9734-4900-a210-bde286f82bee {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-15b30901-e9c8-4a8a-9823-ac29a22e7412 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8f8821df-c353-4b1d-add5-a261a49f8703 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00022_nodes_node_ident_delete_observer [0.323336s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00024_nodes_validate_get_member [0.063314s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.076662s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00049_nodes_states_power_put_observer [0.059994s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00027_nodes_maintenance_put_member [0.057673s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00082_nodes_traits_get_admin [0.074913s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.051918s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00053_nodes_states_secure_boot_put_admin [0.062502s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00030_nodes_maintenance_delete_member [0.062193s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00261_nodes_allocation_get_admin [0.050661s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00083_nodes_traits_get_member [0.067979s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00054_nodes_states_secure_boot_put_member [0.055305s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00267_deploy_templates_post_admin [0.051694s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00031_nodes_maintenance_delete_observer [0.075081s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00087_nodes_traits_put_observer [0.063469s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00055_nodes_states_secure_boot_put_observer [0.057977s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00268_deploy_templates_post_member [0.050457s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00033_nodes_management_boot_device_put_member [0.057612s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00058_nodes_states_provision_put_observer [0.050616s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00090_nodes_traits_delete_observer [0.081852s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00271_deploy_templates_get_member [0.049729s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00038_nodes_management_boot_device_supported_get_admin [0.056439s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00060_nodes_states_raid_put_member [0.050728s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00272_deploy_templates_get_observer [0.046174s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00092_nodes_traits_trait_put_member [0.074280s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00041_nodes_management_inject_nmi_put_admin [0.056865s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00067_nodes_vendor_passthru_methods_get_admin [0.051036s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.048997s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00093_nodes_traits_trait_put_observer [0.060818s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00042_nodes_management_inject_nmi_put_member [0.058539s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00068_nodes_vendor_passthru_methods_get_member [0.050385s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00043_nodes_management_inject_nmi_put_observer [0.071015s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f2d15287-e918-4162-b24a-461f879aa955 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-bf234207-778b-4e88-8bdc-f2b379b8bf01 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1f2ab4d0-8d38-46db-8653-4b78e14e808c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/009d00f9-4de0-4d41-8a8e-8cbc2651783a PATCH: /v1/allocations/009d00f9-4de0-4d41-8a8e-8cbc2651783a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c85c170f-c8a9-48b7-8fce-c8f27540dba7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 009d00f9-4de0-4d41-8a8e-8cbc2651783a could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/941408ec-c46a-4e8c-8a0e-c692e952e068 PATCH: /v1/allocations/941408ec-c46a-4e8c-8a0e-c692e952e068 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7aed9db3-efae-42de-8245-7807308b4b98 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 941408ec-c46a-4e8c-8a0e-c692e952e068 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/22583eee-8696-4efb-91dd-79a5e7b8b2c0 DELETE: /v1/allocations/22583eee-8696-4efb-91dd-79a5e7b8b2c0 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f4b008f1-26f0-4a46-b1a6-c47d3e539fdd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 22583eee-8696-4efb-91dd-79a5e7b8b2c0 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/7263d5b4-6c11-4a3b-833d-4ef058a09c9b DELETE: /v1/allocations/7263d5b4-6c11-4a3b-833d-4ef058a09c9b GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3450857b-a218-46ec-9803-31aac38af256 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 7263d5b4-6c11-4a3b-833d-4ef058a09c9b could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cdc7f612-3f66-4dd7-a00b-e1b1470270bb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-257f66ad-c85f-4130-820a-29cea1353d6b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e27211f2-5e13-47ef-b5d9-b356ca9de826 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-68ec0271-40ae-43ed-9bfb-df6140da12be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f48875c8-67f1-4cb4-8373-01111298c43f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/95a213e0-0bae-4c0d-a0c7-6dd49bede931 GET: /v1/deploy_templates/95a213e0-0bae-4c0d-a0c7-6dd49bede931 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-06930ce3-8358-4b2c-8366-3e896f067b16 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/1fb01de1-86b2-4156-8efc-fff574c42703 DELETE: /v1/deploy_templates/1fb01de1-86b2-4156-8efc-fff574c42703 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.059721s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.126630s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1282e671-965d-4052-b2a9-eb0ae6f1c757 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-785fae31-2881-45ea-b3f9-ce3e793f1e35 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e55e56eb-e1e4-48c7-b999-05e7f7c27416 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-601f78a7-5bc3-4319-bbfd-7578a8a677e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fc0df4b3-55da-40b4-8315-06e25071598a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b967b8d2-ea74-4904-91e8-e71d3f609cea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-42966922-ea6f-4df4-a6bb-8d9ee19d8222 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f86f6183-381b-47b4-8c67-3c36e67b9d77 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-390814bc-48b6-4a53-8a37-40c53a6bcce8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2561a43f-5c2b-49c2-92ad-c88199789fa6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dad97d4d-b141-4887-841f-a584dcab8715 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-14d86bb4-ec1a-428a-97d6-36c5255dcbce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-975a103f-3c17-42c2-9b8a-33a61aee980e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b8e97e9-1948-473b-b30e-74b44687aab1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00099_nodes_vifs_get_observer [0.076889s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00101_nodes_vifs_post_member [0.083954s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-776496b6-8950-47a4-b525-ff6947ec14de X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d0d4473-8fc9-4f3a-b3ee-0988531cb85a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a5e8e544-69db-4a49-97e8-d270b5ca729b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3e3ac94c-eb52-4275-8eac-05f7db268db4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-187d7ccf-41cf-4c18-9d3f-bea3a9df9c10 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5fefa7e1-06d2-4120-9f90-069c219f4438 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a55862b5-545e-41c5-bbe2-e81c2635e989 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81ab4229-3640-43a9-88d8-9911030e8c5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9dbe3962-681c-4399-828c-d277dc18ab6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0532d346-a168-4ad9-a492-d0ebb4d623b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9be174a-7a7b-4dfc-a48f-6d67f74e8c88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5b98fb97-ee05-4f13-b49d-2d7c003685cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-18a3d42f-4ddf-4222-9805-9f9f4c5ac973 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7880c835-27ed-466e-b484-2292c29df766 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00070_nodes_vendor_passthru_get_admin [0.050117s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00079_nodes_vendor_passthru_delete_admin [0.110752s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00283_chassis_post_member [0.079405s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00106_nodes_management_indicators_get_admin [0.068735s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00052_nodes_states_boot_mode_put_observer [0.168572s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00084_nodes_traits_get_observer [0.082032s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00108_nodes_management_indicators_get_observer [0.063995s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00086_nodes_traits_put_member [0.049673s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00285_chassis_get_admin [0.069498s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00056_nodes_states_provision_put_admin [0.100105s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00289_chassis_detail_get_member [0.052945s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00097_nodes_vifs_get_admin [0.063211s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00059_nodes_states_raid_put_admin [0.050264s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.051361s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.048159s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00064_nodes_states_console_put_admin [0.059716s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00113_portgroups_get_member [0.062487s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00302_node_history_get_observer [0.097652s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b4574aba-d600-4efd-8ae3-a34f0a3cc4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3abed9b7-ffb3-4968-8cf3-7e2fa2b2cfd7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81e5421a-6870-439d-a0d8-aea7d4fafab4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd93757d-a082-4eed-b9da-8814085273a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-642d8196-32f8-46a0-a967-befa52fb15bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8fea09e5-b070-47ce-b539-2e444449d630 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-16f387da-1cdc-448c-8c7d-aa4132ba5a60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a4129ff7-1901-4e28-aff1-a161b66a7435 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e4b88f01-b598-4872-9430-befac3cff20c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ece0c2ab-3728-4bc6-9f42-f65349c84d8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-51e6c1af-3823-474c-9553-fd3e4536ca6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-286b234c-e641-40ff-9026-6f716739ba50 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8c4afc68-8512-4c52-bc16-2bf9f44c4447 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9bb138af-9341-4fd1-9964-f7bed404f349 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00066_nodes_states_console_put_observer [0.055065s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00071_nodes_vendor_passthru_get_member [0.048551s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00114_portgroups_get_observer [0.134507s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00072_nodes_vendor_passthru_get_observer [0.060062s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00098_nodes_vifs_get_member [0.277338s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00002_nodes_post_admin [0.091345s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00078_nodes_vendor_passthru_put_observer [0.049187s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00117_portgroups_post_observer [0.088923s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00102_nodes_vifs_post_observer [0.059881s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00003_nodes_post_member [0.065273s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00085_nodes_traits_put_admin [0.056063s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00118_portgroups_detail_get_admin [0.065410s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00104_nodes_vifs_node_vif_ident_delete_member [0.053571s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00088_nodes_traits_delete_admin [0.060783s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00004_nodes_post_observer [0.081514s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00107_nodes_management_indicators_get_member [0.051375s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00089_nodes_traits_delete_member [0.055069s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00012_nodes_detail_get_member [0.069849s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00115_portgroups_post_admin [0.067567s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00120_portgroups_detail_get_observer [0.138625s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00094_nodes_traits_trait_delete_admin [0.055039s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00125_portgroups_portgroup_ident_patch_member [0.051985s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00017_nodes_node_ident_patch_admin [0.085135s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00105_nodes_vifs_node_vif_ident_delete_observer [0.053528s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00122_portgroups_portgroup_ident_get_member [0.085266s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00126_portgroups_portgroup_ident_patch_observer [0.063424s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00123_portgroups_portgroup_ident_get_observer [0.060299s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00127_portgroups_portgroup_ident_delete_admin [0.062382s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00112_portgroups_get_admin [0.051267s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00130_nodes_portgroups_get_admin [0.055565s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00136_ports_get_admin [0.055138s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00116_portgroups_post_member [0.072809s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00138_ports_get_observer [0.046171s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00132_nodes_portgroups_get_observer [0.078238s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00119_portgroups_detail_get_member [0.058196s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00139_ports_post_admin [0.099395s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-43f5781a-dd2c-4418-be48-9d1959439b61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3f95fdd-3813-4758-ad47-ffe9a787c74a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eaba74d6-366f-4a34-a34b-de535b5d3bee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fdffe1f0-56c7-49a5-b312-10b340467b5d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9d979265-4a5a-4101-a8de-a4cfa6681751 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-361e30bb-8cd0-44f9-bc40-8e7386078e39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-67e28fcb-c214-4365-b2aa-186529915d6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5f57fb19-82c5-4adc-acd6-d8431a503653 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6a517972-b01c-4cd5-9a28-6bd6b5c14053 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-83a21f77-5903-47d9-9eb3-e819d61277e9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2956047d-8d52-4ed7-8a70-b2f4b4015781 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-62859558-2716-40f7-92c1-bf815a1e3300 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8f84159d-7de1-4403-bf42-430fed1f7209 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eb4f3d91-c2bc-4bea-97a0-2e0a1c584e58 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3469ab6-2a33-43c0-908b-ebe5a18d4720 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00142_ports_detail_get_admin [0.045875s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00145_ports_port_id_get_admin [0.047617s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00019_nodes_node_ident_patch_observer [0.355845s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00151_ports_port_id_delete_admin [0.064812s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00147_ports_port_id_get_observer [0.062822s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00121_portgroups_portgroup_ident_get_admin [0.163862s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00155_nodes_ports_get_member [0.052503s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-65c13257-b56a-4903-aa83-cb32d163cee1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/5c442093-5cc6-449e-8f93-7a2141cf951e DELETE: /v1/deploy_templates/5c442093-5cc6-449e-8f93-7a2141cf951e GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cbe328a5-5a88-4722-a139-f58b72952e00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4497f7c3-9b9c-467a-8d48-43618684d12a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f5a25042-263f-4ff1-a02c-a0c6036c179f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0bfd4378-97c5-407b-bd16-1241c522647a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-abf92c57-5fa9-4a58-a3fa-10985e33eaed X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1a91ef2b-4b98-42b7-bcb2-1d8029165719 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eb3cb58c-7547-4191-a9bb-bc700a8914b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e497a546-0d65-4438-bc6f-f5a6f70cf279 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-29ed9b1e-2c18-49f3-846e-72224da18854 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-312780bf-d737-4416-8fbf-5e652471d8eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:node:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f86cc53-b336-41fe-b452-9c6d0a24dbd6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-010f06c4-f81c-45c3-8768-8eb4a8987a43 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ebbb68cb-89c3-4079-a42d-e6af1205c246 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00020_nodes_node_ident_delete_admin [0.079896s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00124_portgroups_portgroup_ident_patch_admin [0.083077s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00025_nodes_validate_get_observer [0.079252s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00157_nodes_ports_detail_get_admin [0.101059s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-78c5d6e6-15f8-478e-94ef-0cea70193bbd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-888ce959-387c-432f-83c4-6364b8da26f3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e8c2b44f-7f27-4cd3-8bfe-6e91b018a6f2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1bd8f1cc-c521-43dd-83a8-b5bd2563dc61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c02e7c20-a45e-4186-99b9-1e0248b3c729 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7604f37f-44fe-4203-9cbe-0dbea496e4d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8bddb2fc-9b98-48fa-8bb1-324859544227 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fe614a74-70e6-47df-bfba-f9dccaeaa33a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5e5b7ae6-25a8-4ac9-8b45-7d2a4cf1b08f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9d9bdb68-ca08-46c5-8930-2601f16486a1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5845c1d3-e882-4859-9a8a-3cdebdc58a75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9b696de-ae4c-4c05-9824-490f3c859929 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb9859ca-dbba-48b9-90f8-69a082858274 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-de0f7a51-647d-4c32-a82a-10f406d708ca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-de4d61c7-4e6d-4332-a845-1f978e142581 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00148_ports_port_id_patch_admin [0.067917s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00149_ports_port_id_patch_member [0.085539s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00150_ports_port_id_patch_observer [0.052963s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-36bb2061-31b9-4961-b4a2-5b834dbae9d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-81d176bc-8a86-4279-b43e-211520599adc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a0bf4c48-607a-4793-89f6-4a5b03a01efd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c3d38052-16e4-445f-86db-6b6f1a176cb1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-29a04b2b-02e0-4fab-b580-68f1f2d1729d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a44e46d2-039e-45dc-9656-c5f2d44649d8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8663287-9fcc-4f97-b458-065bab20963b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ced5d526-5353-48d1-989a-bd9156cf14d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9ccb7dab-245c-4fc1-81c0-3868f4dab348 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aba6ff1f-f0bd-47ea-9a4c-ae98b41e94d3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-57f7a482-40bd-487f-a7b9-dabe26b55ac2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-72b52d73-02eb-4868-9b40-8df8ff00b055 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6117f0ac-215d-4e1f-82ee-82a639e79d17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4403ad70-ec32-4900-800e-aec3ede38603 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00128_portgroups_portgroup_ident_delete_member [0.052853s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00140_ports_post_member [0.049054s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00028_nodes_maintenance_put_observer [0.089231s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00160_portgroups_ports_get_admin [0.096684s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00141_ports_post_observer [0.063411s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00062_nodes_states_console_get_admin [0.054540s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00168_volume_get_observer [0.050357s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00159_nodes_ports_detail_get_observer [0.078454s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00065_nodes_states_console_put_member [0.053947s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00166_volume_get_admin [0.049415s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00179_volume_volume_connector_id_patch_member [0.055822s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00143_ports_detail_get_member [0.073923s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00069_nodes_vendor_passthru_methods_get_observer [0.051245s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00186_volume_targets_get_observer [0.057453s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00169_volume_connectors_get_admin [0.061583s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00144_ports_detail_get_observer [0.056792s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00074_nodes_vendor_passthru_post_member [0.051949s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00171_volume_connectors_get_observer [0.053761s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00146_ports_port_id_get_member [0.054833s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00187_volume_targets_post_admin [0.091080s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00075_nodes_vendor_passthru_post_observer [0.053141s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00181_volume_volume_connector_id_delete_admin [0.059953s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00152_ports_port_id_delete_member [0.059116s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00192_volume_volume_target_id_get_observer [0.056503s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00076_nodes_vendor_passthru_put_admin [0.054107s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00188_volume_targets_post_member [0.076903s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00154_nodes_ports_get_admin [0.064345s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00199_nodes_volume_get_admin [0.055783s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00081_nodes_vendor_passthru_delete_observer [0.063043s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00156_nodes_ports_get_observer [0.050545s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00202_nodes_volume_connectors_get_admin [0.051830s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00091_nodes_traits_trait_put_admin [0.053270s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00212_drivers_driver_name_get_member [0.062154s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00158_nodes_ports_detail_get_member [0.073358s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00095_nodes_traits_trait_delete_member [0.067135s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00161_portgroups_ports_get_member [0.066771s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00096_nodes_traits_trait_delete_observer [0.051093s] ... ok API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fcdba0d7-d484-4c27-869a-9778d3fe3679 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f28bd15a-8151-4d96-bb52-914a16078bd0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2e656816-47ca-475f-948a-39d23db0fffe X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-03277938-0a05-4888-8593-bde2b99d388b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7a57b7c7-66b6-48f1-aced-6f565db1a79d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-85b0fc72-0836-4e42-9872-b8bfe91a530c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f181e7dd-8a8d-4df3-93c8-0e3c671cfc92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a2398596-420d-4091-beb6-5110e37e0e6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7173016f-95b2-4988-90e0-319a1cde9502 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f7fa66d8-f07c-4551-a68e-c0d62080230b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b3ab903e-c0bf-4c75-8b7b-171af762386a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-78f3e70b-52fd-4b8d-824d-b2b97ae4e45e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-55c88ec3-cd83-4610-898a-4dba9e0cabd0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d49490fb-9f4e-4085-bf91-7548738498e6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00218_drivers_raid_logical_disk_properties_get_member [0.049823s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00221_drivers_vendor_passthru_methods_get_member [0.081039s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00193_volume_volume_target_id_patch_admin [0.258744s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00163_portgroups_ports_detail_get_admin [0.074057s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00100_nodes_vifs_post_admin [0.074633s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00223_drivers_vendor_passthru_get_admin [0.048052s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00198_volume_volume_target_id_delete_observer [0.055332s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00165_portgroups_ports_detail_get_observer [0.052256s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00228_drivers_vendor_passthru_post_observer [0.051128s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00167_volume_get_member [0.048810s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00201_nodes_volume_get_observer [0.054628s] ... ok DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-786e6f98-39cf-4bf7-a808-8a1cfaa5e452 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-509a1838-f668-445e-88fa-e61edad8b2a4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bfe1b8a6-70e6-41c8-bc94-af54e6bd1d92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-64d5f8b3-b075-4a4e-864e-23cc53d4c385 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2098e107-f438-4428-a9aa-462819adfee7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d8432236-a369-463c-adde-73a551c4e845 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ffcf0529-d948-4792-a95a-c5641d9212ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9f230687-050c-4905-ab5e-5ce9396c14b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-677d3122-cc05-492e-b9ef-e4afd7c64282 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dfea1693-f067-4dea-a0f9-749e4d6749d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c6a7bb24-ca90-4785-96cc-5651c52c02c8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0c059bbc-57ac-496b-aa27-439ea24a4a82 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7165b2be-49a3-41a8-801b-c4353b353466 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ac152f99-8230-457e-a442-57b8aa3a5e2e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00103_nodes_vifs_node_vif_ident_delete_admin [0.071478s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00234_nodes_bios_get_admin [0.067651s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00129_portgroups_portgroup_ident_delete_observer [0.082549s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00170_volume_connectors_get_member [0.066111s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00204_nodes_volume_connectors_get_observer [0.064140s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00236_nodes_bios_get_observer [0.051951s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00131_nodes_portgroups_get_member [0.052886s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00206_nodes_volume_targets_get_member [0.057696s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00240_conductors_get_admin [0.065538s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-05b0823b-6ee3-4e29-a385-7ad34d67e005 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f9effdff-b46f-4916-87d6-73d1d19e793c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-152bfd9c-c17b-4f9e-ae8d-044c3d922713 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-32a14039-e64d-4947-bb0f-73b510c926e8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8bdf816c-82ba-43e7-860a-7ce3541fb705 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1289e54e-eb07-4d12-868d-23ecca66eefd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-203bcfc0-3c0a-4768-b601-b0e1d61cab9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-af593817-bb1e-404c-9cbd-2dedf0d54504 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8071d7d4-2a79-4041-a5a0-b1629b8fb58d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-73e4df52-fb52-494d-a4f3-33486b91c065 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-03bf82fe-3474-438b-8989-b3c9dde2e804 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3b69df21-e030-4d80-9ff9-74a48b669e41 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b53b50c4-c708-4fee-8887-7636770873b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b0913e37-bc4c-4093-a726-57d6c106ef47 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75136b72-77b0-467c-913b-930756cf87a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00175_volume_volume_connector_id_get_admin [0.049442s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00176_volume_volume_connector_id_get_member [0.064240s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00208_drivers_get_admin [0.076261s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00133_nodes_portgroups_detail_get_admin [0.098219s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00178_volume_volume_connector_id_patch_admin [0.051361s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00134_nodes_portgroups_detail_get_member [0.054401s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00248_allocations_post_observer [0.097088s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00182_volume_volume_connector_id_delete_member [0.072006s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00135_nodes_portgroups_detail_get_observer [0.061305s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-506160e3-519e-4a7a-8af8-cdd832a17180 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-aea2a62e-9691-4ff1-8e4a-0bba581cbd9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e9419d7a-74d5-4f7f-b047-a49c0238901d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b16f03e2-6e40-4da2-90e0-d0f6ed35a763 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e4880bff-5ac5-4a16-a759-8beab9842467 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3e11f6e6-aeab-4d37-ac8d-f2c549d9057f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0811fb9d-0e0d-4629-a751-b97002caaf8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7bc3f106-0120-4e86-9804-e41d4398fc54 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-044e9276-cab6-4a54-b0f4-a06f3e59350b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-18f7c588-c38d-4508-ae4a-c8c799b44840 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b22e579a-3396-4e0d-82be-59ebe0bf40fa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-21a810e8-5e60-4607-9f20-f2887d93e6d1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cb034ca7-ab89-4790-a344-939b4d229654 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4d9eb672-9af5-4323-8ab3-8fbb60dba06d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6cf1ffbc-308b-48c4-a617-a2dd398a57b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00215_drivers_properties_get_member [0.057004s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00216_drivers_properties_get_observer [0.072597s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00184_volume_targets_get_admin [0.049189s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00252_allocations_allocation_id_get_admin [0.091220s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00137_ports_get_member [0.053817s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00217_drivers_raid_logical_disk_properties_get_admin [0.062963s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00189_volume_targets_post_observer [0.061286s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00255_allocations_allocation_id_patch_admin [0.065824s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00153_ports_port_id_delete_observer [0.073310s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00222_drivers_vendor_passthru_methods_get_observer [0.067594s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00256_allocations_allocation_id_patch_member [0.051506s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00190_volume_volume_target_id_get_admin [0.096567s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00224_drivers_vendor_passthru_get_member [0.055990s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00162_portgroups_ports_get_observer [0.065667s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00263_nodes_allocation_get_observer [0.062833s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00225_drivers_vendor_passthru_get_observer [0.054414s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00164_portgroups_ports_detail_get_member [0.056837s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00268_deploy_templates_post_member [0.058217s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00196_volume_volume_target_id_delete_admin [0.097570s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00227_drivers_vendor_passthru_post_member [0.054686s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00172_volume_connectors_post_admin [0.059792s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00203_nodes_volume_connectors_get_member [0.079960s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00231_drivers_vendor_passthru_put_observer [0.064036s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00173_volume_connectors_post_member [0.060945s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d596d2bf-777c-4851-aa1a-4e5980ab2e92 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5f7030de-e646-4dd8-b250-e4e122a28b7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f676ede4-bff0-4f7d-b94b-fe04f768b7e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b60be986-b41c-4df0-9532-c71d3b136d3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1a149a0b-73a7-495c-834c-7fdaae328b39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c72909d2-c482-4729-8450-a62ea6dc5ebb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5a919065-b4b3-469e-86e2-12cfcf952b75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f484c676-7f45-4104-ab82-c0a2b1b8e207 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/6fe00fcf-e7d1-4a90-a83e-3bbef86880bf GET: /v1/allocations/6fe00fcf-e7d1-4a90-a83e-3bbef86880bf {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-593b5a43-7cc7-4ac2-9021-85883b6f4404 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 6fe00fcf-e7d1-4a90-a83e-3bbef86880bf could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/0878faf1-a3d3-42da-b921-cfec4d68a8c1 PATCH: /v1/allocations/0878faf1-a3d3-42da-b921-cfec4d68a8c1 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bf8fa2a6-ed42-4dd2-ab71-f2db81fd619a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 0878faf1-a3d3-42da-b921-cfec4d68a8c1 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/558ccab2-ca04-4c8a-ade2-8cc49c307b8a PATCH: /v1/allocations/558ccab2-ca04-4c8a-ade2-8cc49c307b8a [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1ba35d05-9c1c-4b53-a608-34531b32cf68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 558ccab2-ca04-4c8a-ade2-8cc49c307b8a could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4c6fe62f-121a-483b-bc75-715e168a76aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1419fd1b-4625-4cc4-bb68-572c5ff492dc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00269_deploy_templates_post_observer [0.057735s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00273_deploy_templates_deploy_template_id_get_admin [0.056934s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00174_volume_connectors_post_observer [0.054281s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00207_nodes_volume_targets_get_observer [0.070911s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00283_chassis_post_member [0.062279s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00209_drivers_get_member [0.058712s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00292_chassis_chassis_id_get_member [0.057394s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00211_drivers_driver_name_get_admin [0.045483s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00177_volume_volume_connector_id_get_observer [0.108758s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00241_conductors_get_member [0.122413s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00295_chassis_chassis_id_patch_member [0.079890s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00214_drivers_properties_get_admin [0.051714s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00296_chassis_chassis_id_patch_observer [0.047915s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00219_drivers_raid_logical_disk_properties_get_observer [0.054592s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00297_chassis_chassis_id_delete_admin [0.059446s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-415b45a0-736a-4d1d-bbbd-5d40f98a03d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5e916b0f-d945-43c1-b67e-71027a194f46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f2b6f4f7-78df-46f9-a325-d4bba7f41284 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ce453e17-24c0-45b8-8a16-1d0502f83102 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8c16fa2-eabb-4b9a-904c-4aa8149eca02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d86e123-5ed2-4715-a54e-594812b98972 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8946a3c5-5255-4389-9c68-4bf4546861ac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9151521f-e063-46bb-96cd-944481d76759 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-66f23f93-41f8-4759-a7e9-becd3beba3cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-00096bc4-5d09-4041-bff6-3e34d8ac052d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-959f407b-4b3a-4aa3-a4f1-abc7f9219e81 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-35224f62-9f02-49cc-8b9a-fa0f670d03d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-68552010-f1cf-4c1b-b390-7bb07738032b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a83f4aca-077f-406d-9811-48d6e7df66af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00180_volume_volume_connector_id_patch_observer [0.133926s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00242_conductors_get_observer [0.135263s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00183_volume_volume_connector_id_delete_observer [0.070927s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00298_chassis_chassis_id_delete_member [0.054960s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00245_conductors_hostname_get_observer [0.066572s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00299_chassis_chassis_id_delete_observer [0.066693s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eaf10324-2f56-4b08-bba2-297a605782b5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a976d934-7d4f-4df0-bbfd-dd94dea8ff4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ef73042-ab08-42cd-8a1c-775f16d35869 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-129ead4f-9497-4c10-8e91-251cd363011a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a0e24437-4d81-478b-9e4f-92527d2a07ad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-97325047-9275-443b-aaca-e63d90996318 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-103c865c-3f33-496f-b6ff-d0b84165c131 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c83814af-e850-4be7-8380-1422332768aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3dbab8fe-b604-4dff-a367-67d1840c209e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d959859b-ccb3-4984-b90e-515566938dca X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dfceb595-4d33-4819-a4d8-6b9c59df5a32 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-507e72a7-f75a-48a9-8f99-fa4cceaa15c3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-bf06b396-0e2f-408c-82e9-18697ac8bf3e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4a17dd41-7c00-4abd-ab06-335e6ac207c6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00238_nodes_bios_bios_setting_get_member [0.060165s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00239_nodes_bios_bios_setting_get_observer [0.064529s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00185_volume_targets_get_member [0.107690s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00246_allocations_post_admin [0.074832s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00243_conductors_hostname_get_admin [0.079560s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00300_node_history_get_admin [0.086713s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00191_volume_volume_target_id_get_member [0.054506s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00251_allocations_get_observer [0.066768s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00244_conductors_hostname_get_member [0.060287s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00194_volume_volume_target_id_patch_member [0.100569s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00004_nodes_post_reader [0.086452s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00195_volume_volume_target_id_patch_observer [0.067700s] ... ok API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-329951ef-d1df-4845-af6a-2447494f4700 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-995bd569-a649-4681-a476-01554089ea74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4cae248e-625d-4517-bee9-cfb6455d1909 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get_raid_logical_disk_properties\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-18fe863a-a17a-464e-900a-6db7d2488b14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-b28a4493-0cfe-4bff-8ee4-7f1c8e620ffd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e706b66a-69e5-4106-8d35-91f4c9359c1e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e8354568-fb74-476a-8f5a-b9b159d64200 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-4f4e5e3d-c888-4208-830a-0a185893a365 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2752c811-10a9-425c-8e94-a34c35e8aa78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5679710c-6903-492d-b170-80b2174dabe4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c143fa14-caa2-4030-a838-ab6cd40f0e20 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f1b1b36-0dbd-4027-a07d-727cb2451a33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-731966be-b3a5-49e1-a867-1812b824e000 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/60d1883c-f79f-4fd7-95ec-49c3119f2575 GET: /v1/deploy_templates/60d1883c-f79f-4fd7-95ec-49c3119f2575 {} {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00274_deploy_templates_deploy_template_id_get_member [0.094659s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00275_deploy_templates_deploy_template_id_get_observer [0.072915s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00197_volume_volume_target_id_delete_member [0.061482s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00276_deploy_templates_deploy_template_id_patch_admin [0.060564s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00200_nodes_volume_get_member [0.051967s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-99a24df7-2983-401c-88a8-2ee10d2e93cf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/306b51d5-2397-432f-843d-ec4b8a039d60 GET: /v1/deploy_templates/306b51d5-2397-432f-843d-ec4b8a039d60 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1b1c2045-0f43-48d9-b973-6c6095bf200e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fa6af6fc-f960-4372-95dd-eea5403e8692 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d3f963b3-f00a-4cef-a097-686e0758872a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-44ab3d8d-7040-4a2b-be3c-2892d2c0289f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1bb8c4ec-d492-4e40-852b-538425b7f854 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-74368010-43bf-40ab-89e4-429a2a29177c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5b6f57c9-f7ed-44c6-a4ea-9ba0ccc5f87d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cd1febe0-1536-415a-91ad-92c0093b6a65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d5b04112-a797-4aca-8c2b-9b7eac096c4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-54582f06-2b19-4c30-a2eb-64b46db88253 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-54582f06-2b19-4c30-a2eb-64b46db88253 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00005_nodes_get_node_admin [0.082440s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00277_deploy_templates_deploy_template_id_patch_member [0.074371s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00205_nodes_volume_targets_get_admin [0.060038s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4bf7cb2-de87-42c4-8603-0e3fc26e263c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.572976+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} driver fake-driverz ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4bf7cb2-de87-42c4-8603-0e3fc26e263c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.572976+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00006_nodes_get_node_member [0.063322s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00278_deploy_templates_deploy_template_id_patch_observer [0.053983s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00210_drivers_get_observer [0.065280s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c598adf0-d02c-436d-a81b-dc3f5bb2079d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.635992+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c598adf0-d02c-436d-a81b-dc3f5bb2079d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.635992+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes GET: /v1/nodes {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-01fe9766-72eb-4ea5-8174-6afb825335b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": 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"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "77c2fd0a-252e-477d-8901-607a232e4cf1", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00009_nodes_get_admin [0.058755s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00289_chassis_detail_get_member [0.083311s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00213_drivers_driver_name_get_observer [0.072068s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-01fe9766-72eb-4ea5-8174-6afb825335b8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": 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"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": "77c2fd0a-252e-477d-8901-607a232e4cf1", "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b65c1fc-cad4-46f7-86b8-cb60a9501bba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.767164+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:18:01.769521+00:00", "updated_at": "2024-09-07T17:18:01.774045+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "a99b542c-2081-4aa0-b468-acd3797cb1e4", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "a99b542c-2081-4aa0-b468-acd3797cb1e4", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:18:01.786947+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0b65c1fc-cad4-46f7-86b8-cb60a9501bba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.767164+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:18:01.769521+00:00", "updated_at": "2024-09-07T17:18:01.774045+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "a99b542c-2081-4aa0-b468-acd3797cb1e4", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "a99b542c-2081-4aa0-b468-acd3797cb1e4", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:18:01.786947+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00012_nodes_detail_get_member [0.076826s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00015_nodes_node_ident_get_member [0.056511s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00220_drivers_vendor_passthru_methods_get_admin [0.051888s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00017_nodes_node_ident_patch_admin [0.066941s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00249_allocations_get_admin [0.474383s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00293_chassis_chassis_id_get_observer [0.113795s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00226_drivers_vendor_passthru_post_admin [0.052695s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00019_system_member_can_patch_conductor_group [0.077218s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00229_drivers_vendor_passthru_put_admin [0.047221s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00253_allocations_allocation_id_get_member [0.077294s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00301_node_history_get_member [0.118792s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00257_allocations_allocation_id_patch_observer [0.054432s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f673a81d-3543-440c-a1d3-050edde39848 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.836992+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f673a81d-3543-440c-a1d3-050edde39848 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:01.836992+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-57d4bf8d-ee8c-4a64-b796-7e3b246b5488 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-57d4bf8d-ee8c-4a64-b796-7e3b246b5488 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/conductor_group', 'value': 'DC04-ROW39'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-34c8c5c0-9e42-4743-aefa-6b25e7ff839c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-34c8c5c0-9e42-4743-aefa-6b25e7ff839c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00024_nodes_node_ident_delete_reader [0.066012s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00258_allocations_allocation_id_delete_admin [0.077310s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00036_nodes_management_boot_device_put_reader [0.112833s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc945656-a273-4ec1-a03f-7f6c01bfdb2e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a777f63a-887f-4e45-a09a-9483e219cfbf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cadac186-f0b4-4160-8ad3-64afad9a364f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-52dff03c-3517-418f-8203-375f091338d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ee9ac36a-0bb9-455d-87a9-7e551d409395 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-eeef1b07-5c72-488f-96dc-1236961d579d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cff628b5-3816-492f-aa7b-b988e9f157a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-657eb1ab-f0ac-4fbc-9420-8a2965becdad X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-22615531-9650-4e30-a788-4c473caac731 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d57af02c-684b-4a5d-ae6a-66d9683a57d2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5cbbad0e-a965-47d0-9520-7ee8924ae124 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a4e1fb61-3434-4b1a-8b24-13b63ec25b80 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a36bba50-769e-4fb2-8841-270a66b9c2f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3c44c776-56f2-4e99-8c8d-eb66095428c9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00230_drivers_vendor_passthru_put_member [0.113985s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00002_nodes_post_admin [0.102795s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00261_nodes_allocation_get_admin [0.059486s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00235_nodes_bios_get_member [0.109021s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00265_nodes_allocation_delete_member [0.053286s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00010_nodes_get_other_admin ... SKIPPED: Not implemented yet {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00037_nodes_management_boot_device_get_admin [0.119780s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00266_nodes_allocation_delete_observer [0.054978s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00237_nodes_bios_bios_setting_get_admin [0.124920s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00270_deploy_templates_get_admin [0.048164s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00039_nodes_management_boot_device_get_reader [0.128337s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00271_deploy_templates_get_member [0.056224s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00250_allocations_get_member [0.077510s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-303c2202-6f4b-432b-b130-d9d14c70169b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates/fc5965c3-33a5-42eb-8fd2-2e1238c15ee8 GET: /v1/deploy_templates/fc5965c3-33a5-42eb-8fd2-2e1238c15ee8 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-dffd7acc-0f1f-4be0-a2d1-4ef7c26c229f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/5f830ebc-f3f6-48ba-819f-e62717812532 PATCH: /v1/deploy_templates/5f830ebc-f3f6-48ba-819f-e62717812532 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d675ab3c-2a87-4d19-bd05-af567b2e20a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/57e44d60-772d-49a7-a995-4c2b56b6ec36 PATCH: /v1/deploy_templates/57e44d60-772d-49a7-a995-4c2b56b6ec36 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-efd6eea0-a2b6-4b3c-9674-c096c28248cc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/deploy_templates/213a79d0-aa3f-4324-929c-68a581663feb PATCH: /v1/deploy_templates/213a79d0-aa3f-4324-929c-68a581663feb [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-729efaeb-7720-423a-8cbb-ddb8b1289f6d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:update\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eedc1e99-4ccc-4f5b-857d-18ba66be4d6a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-cc9b9796-1b31-41fb-9f48-84db9a447bb5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7684d9af-de30-4a5f-a408-d5ce415eca7a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81ad9713-8b00-4c65-8e30-1f04e0c95788 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-81ad9713-8b00-4c65-8e30-1f04e0c95788 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55df9020-c88a-45fe-a855-837ce79cbbea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:02.321381+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:18:02.323569+00:00", "updated_at": "2024-09-07T17:18:02.326882+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "2abc6694-93ef-454a-9fcf-6d6527279497", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "2abc6694-93ef-454a-9fcf-6d6527279497", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:18:02.338180+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55df9020-c88a-45fe-a855-837ce79cbbea X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:02.321381+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:18:02.323569+00:00", "updated_at": "2024-09-07T17:18:02.326882+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "2abc6694-93ef-454a-9fcf-6d6527279497", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "2abc6694-93ef-454a-9fcf-6d6527279497", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:18:02.338180+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00011_nodes_detail_get_admin [0.058079s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00014_nodes_node_ident_get_admin [0.054305s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00272_deploy_templates_get_observer [0.055612s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00254_allocations_allocation_id_get_observer [0.053226s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf9cd019-a4cf-4c0c-a100-d81d7c9aa6f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:02.380669+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf9cd019-a4cf-4c0c-a100-d81d7c9aa6f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:02.380669+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00016_nodes_node_ident_get_reader [0.105206s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00259_allocations_allocation_id_delete_member [0.046568s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00040_nodes_management_boot_device_supported_get_admin [0.131102s] ... ok GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9dc03236-90ef-4fdf-a87e-2dd1c327ca4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bfb69ff9-b420-452e-872e-4545b8cfad5c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3f9a85f5-37b9-4051-a535-4ab44a9f2090 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6d00e5a1-2a24-4d7f-b403-d20e315e6914 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:conductor:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ad3e971b-b38b-4d3d-9c94-c78d0a9cef14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/56517e3d-32d4-4633-8b56-c81636536e7e GET: /v1/allocations/56517e3d-32d4-4633-8b56-c81636536e7e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a0b6aac-705e-44ca-827f-c0b74f95524b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 56517e3d-32d4-4633-8b56-c81636536e7e could not be found.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/f1092121-f4b5-40d0-be55-073d0af8a924 PATCH: /v1/allocations/f1092121-f4b5-40d0-be55-073d0af8a924 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d8ffd0b9-c93c-488c-899b-88565ccd9b46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation f1092121-f4b5-40d0-be55-073d0af8a924 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/8b2cf26b-43bc-4fb6-8c6d-dd7801ae93fd DELETE: /v1/allocations/8b2cf26b-43bc-4fb6-8c6d-dd7801ae93fd GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-daa13db8-95c0-473a-8195-735c921f39aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 8b2cf26b-43bc-4fb6-8c6d-dd7801ae93fd could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7ae54821-2b6c-4b2d-926b-28d8d6ac4b23 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cec497ed-f54b-4de4-9b8a-c1e8fe38151d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c0aad1df-bdf8-4788-8b94-a646556f3ed3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-99ecb724-fd98-4fef-93d8-eb606add5ce3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-423112e8-ea91-4809-9ac3-a957f2d2f3bf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-24a17ef3-6b73-4e31-a54e-66398a353da7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/49678d0f-4839-4315-926b-2f8849a2e7e1 DELETE: /v1/deploy_templates/49678d0f-4839-4315-926b-2f8849a2e7e1 {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00279_deploy_templates_deploy_template_id_delete_admin [0.050458s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00260_allocations_allocation_id_delete_observer [0.060057s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00282_chassis_post_admin [0.073521s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00041_nodes_management_boot_device_supported_get_member [0.074218s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00262_nodes_allocation_get_member [0.049687s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00018_system_admin_can_patch_chassis [0.151663s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00291_chassis_chassis_id_get_admin [0.057791s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00043_nodes_management_inject_nmi_put_admin [0.055079s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00264_nodes_allocation_delete_admin [0.055021s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00294_chassis_chassis_id_patch_admin [0.066175s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00044_nodes_management_inject_nmi_put_member [0.066872s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00267_deploy_templates_post_admin [0.051105s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00020_nodes_node_ident_patch_member [0.122660s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00280_deploy_templates_deploy_template_id_delete_member [0.044818s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00003_nodes_post_member [0.077503s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00281_deploy_templates_deploy_template_id_delete_observer [0.045829s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00284_chassis_post_observer [0.045963s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00021_nodes_node_ident_patch_reader [0.084689s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-466080be-ca26-45e6-aa1e-feabbd07d633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-466080be-ca26-45e6-aa1e-feabbd07d633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-18e3dfd8-181f-464d-a82d-314b3a19f117 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-18e3dfd8-181f-464d-a82d-314b3a19f117 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f724ab38-ffe5-4d22-8776-08fb53f64ab3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f724ab38-ffe5-4d22-8776-08fb53f64ab3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e08256a5-69fc-4c15-8f32-bef9ab96daf2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e08256a5-69fc-4c15-8f32-bef9ab96daf2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c881b1b8-7576-499a-bc9f-bec015167c24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c881b1b8-7576-499a-bc9f-bec015167c24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c36c533c-d78f-4e7f-a241-fd0fc21b22e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c36c533c-d78f-4e7f-a241-fd0fc21b22e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ac665ff4-2d31-4d26-852f-9e46cd3645f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ac665ff4-2d31-4d26-852f-9e46cd3645f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9d93d8d3-20fd-4f5e-a91f-3ea5a534feab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-9d93d8d3-20fd-4f5e-a91f-3ea5a534feab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00052_nodes_states_boot_mode_put_admin [0.054336s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00285_chassis_get_admin [0.053803s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00022_nodes_node_ident_delete_admin [0.065586s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00023_nodes_node_ident_delete_member [0.077575s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5b7c258-f9f7-4c8a-9128-ebb14b786c4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:02.441600+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5b7c258-f9f7-4c8a-9128-ebb14b786c4e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:02.441600+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4ccea466-7c48-4040-82fd-6234e2a0f42e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4ccea466-7c48-4040-82fd-6234e2a0f42e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f61b7469-3220-4418-a628-5fca04d8f960 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f61b7469-3220-4418-a628-5fca04d8f960 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00028_nodes_maintenance_put_admin [0.177894s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-efb2ec54-e1e5-4caf-ad38-2eff2e2de48a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:driver:vendor_passthru\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c2fa238f-bc64-4af3-aba9-2cd505ac4619 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-86b414bf-7d2e-4e58-84a2-5ce1ee1f54c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e9e21417-8d23-4e5f-8d03-19df4bd9bff9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations/435c5713-8b5c-4806-b4e6-abc92c84bfa4 GET: /v1/allocations/435c5713-8b5c-4806-b4e6-abc92c84bfa4 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7ab2fa96-c5c3-4373-8a6c-56b18a631e08 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 435c5713-8b5c-4806-b4e6-abc92c84bfa4 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/189f99f6-a354-48cc-96b8-06fdeb427c56 DELETE: /v1/allocations/189f99f6-a354-48cc-96b8-06fdeb427c56 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6e7237ad-bc5e-4c2c-8a3f-3c7f30ed9c9a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 189f99f6-a354-48cc-96b8-06fdeb427c56 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/b62bdce2-a2ec-4a39-b1c2-d829b6050c16 DELETE: /v1/allocations/b62bdce2-a2ec-4a39-b1c2-d829b6050c16 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cb105331-a5a2-4a86-ae0f-440d8e3e8293 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b62bdce2-a2ec-4a39-b1c2-d829b6050c16 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a9aa487-01a8-4a47-93e2-062af0a10a86 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a51e8624-9409-4cb3-999f-6ebcd2a9bc0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f1165ddc-f295-49e8-aac2-ad14c8db214f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/3a7cfb63-3501-4f07-be17-47aad37a5432 DELETE: /v1/deploy_templates/3a7cfb63-3501-4f07-be17-47aad37a5432 GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e0c40c8b-688a-49c2-b973-85f9f6351416 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/ca8408d7-4e1d-4b50-816c-956d6f2fdd5b DELETE: /v1/deploy_templates/ca8408d7-4e1d-4b50-816c-956d6f2fdd5b GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-eeeb1789-184f-42d5-bdd6-b3c95c6205fb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-fbffb901-3352-4b03-b0ab-f5c632866da6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3ee8f8fa-0a11-4b41-b351-ba65e6c4b54b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00286_chassis_get_member [0.061813s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00287_chassis_get_observer [0.058723s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00026_nodes_validate_get_member [0.053381s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00031_nodes_maintenance_delete_admin [0.168509s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00288_chassis_detail_get_admin [0.072387s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00027_nodes_validate_get_reader [0.058333s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00053_nodes_states_boot_mode_put_member [0.383927s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00042_nodes_management_boot_device_supported_get_reader [0.070231s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00290_chassis_detail_get_observer [0.100398s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2da4644e-739c-4e83-a9b8-d0d03bf25f09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:deploy_template:delete\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a9cd4de8-adc9-42df-9e22-0c71db1970b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:create\\\": \\\"role:admin and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-3b6e330a-1268-4566-a808-58e51a1fe56b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a81e0b60-4e9f-4b8b-ae2c-c65e405b3a56 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:update\\\": \\\"role:member and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-027fc98b-359e-49a3-90d0-aaa16e376ffb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-027fc98b-359e-49a3-90d0-aaa16e376ffb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e64a4a5-55ae-4ed9-a1f6-9270411afa25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2e64a4a5-55ae-4ed9-a1f6-9270411afa25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8b2f8521-e07e-4c55-92b0-c284e822ddba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8b2f8521-e07e-4c55-92b0-c284e822ddba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5d3d8bc4-6639-4572-a74c-9438b63be4db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5d3d8bc4-6639-4572-a74c-9438b63be4db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b51762dd-acf2-42cb-80aa-3ea873947ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b51762dd-acf2-42cb-80aa-3ea873947ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dda01672-d25e-4d89-87bd-b38c540f0808 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dda01672-d25e-4d89-87bd-b38c540f0808 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00034_nodes_management_boot_device_put_admin [0.057364s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00038_nodes_management_boot_device_get_member [0.076470s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00046_nodes_states_get_admin [0.099925s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00056_nodes_states_secure_boot_put_member [0.111530s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00049_nodes_states_power_put_admin [0.053913s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00302_node_history_get_observer [0.115949s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00050_nodes_states_power_put_member [0.062296s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00057_nodes_states_secure_boot_put_reader [0.055318s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00064_nodes_states_console_get_admin [0.117245s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00051_nodes_states_power_put_reader [0.061387s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00069_nodes_vendor_passthru_methods_get_admin [0.051330s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00303_node_history_get_entry_admin [0.109100s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00054_nodes_states_boot_mode_put_reader [0.061270s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00074_nodes_vendor_passthru_get_reader [0.052886s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00070_nodes_vendor_passthru_methods_get_member [0.093570s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00075_nodes_vendor_passthru_post_admin [0.052789s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00058_nodes_states_provision_put_admin [0.073902s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00304_node_history_get_entry_member [0.098492s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00079_nodes_vendor_passthru_put_member [0.057156s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00081_nodes_vendor_passthru_delete_admin [0.107681s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00305_node_history_get_entry_observer [0.101687s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00083_nodes_vendor_passthru_delete_reader [0.056795s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-968b19ff-cb85-4eae-9e11-88739c5a45f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-968b19ff-cb85-4eae-9e11-88739c5a45f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f0857ac8-3d81-4db7-8dcd-d413ea530920 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f0857ac8-3d81-4db7-8dcd-d413ea530920 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1d5781fb-c363-46d6-8e1e-e275fe96788a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1d5781fb-c363-46d6-8e1e-e275fe96788a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-77b79cf1-02b0-4d14-92f9-c74a3f2dbcc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-77b79cf1-02b0-4d14-92f9-c74a3f2dbcc4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f1ae945d-ead8-4381-82c8-5f7ad71e5713 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f1ae945d-ead8-4381-82c8-5f7ad71e5713 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3bb414d0-1560-4c27-bfc2-83491aa88963 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3bb414d0-1560-4c27-bfc2-83491aa88963 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f7645d9e-a59b-4c0b-b183-f7f1d21160e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f7645d9e-a59b-4c0b-b183-f7f1d21160e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-721c31bc-b154-49d2-8690-fd8c4a626bfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-721c31bc-b154-49d2-8690-fd8c4a626bfa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00060_nodes_states_provision_put_reader [0.064586s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00061_nodes_states_raid_put_admin [0.083871s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00097_nodes_traits_trait_delete_member [0.054478s] ... ok API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-849f52f1-a6b5-4317-af2a-d5cba9acd900 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-849f52f1-a6b5-4317-af2a-d5cba9acd900 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7e169f51-e72b-4ecd-bf0c-f6f8de117fa7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7e169f51-e72b-4ecd-bf0c-f6f8de117fa7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d4e6872-981b-40a1-808d-38284251e9b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d4e6872-981b-40a1-808d-38284251e9b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3a554f7c-2ab8-498c-aa22-f78a4e2fddb6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3a554f7c-2ab8-498c-aa22-f78a4e2fddb6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-27d78d7d-6fa1-43f4-96a4-f484d13e34c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-27d78d7d-6fa1-43f4-96a4-f484d13e34c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-376125b0-3c24-4d34-839a-2a2553197cf0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-376125b0-3c24-4d34-839a-2a2553197cf0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-49797330-5671-4dd0-a6e6-6ed0443f51ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-49797330-5671-4dd0-a6e6-6ed0443f51ce X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4969ee89-f3db-4582-b9be-c5e56b14f4a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4969ee89-f3db-4582-b9be-c5e56b14f4a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00080_nodes_vendor_passthru_put_reader [0.126490s] ... ok GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-7f642c6a-ea04-4f99-9fb0-2a5d8ac66e75 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1362a206-5c7e-463e-85e6-7d7d79a315db X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-579b19c8-39ec-45ba-aba8-6133d6b106c7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-5968b899-bf77-4ad9-b1f3-94ba8cf3d0b1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\\\"baremetal:chassis:get\\\": \\\"role:reader and system_scope:all\\\" requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc510b87-54b3-4abc-b0ba-4dad9df3bb18 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2934377d-ac1f-4873-bf9e-d9c964f0b71e GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/2934377d-ac1f-4873-bf9e-d9c964f0b71e {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-decab458-74d1-4683-a2c2-3d3b249c8835 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/49faea42-7dbc-4a03-acb8-06e62264f221 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/49faea42-7dbc-4a03-acb8-06e62264f221 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fbf5d02e-b501-4439-b76b-1c16396dbbe6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/26ddf14f-930d-4f58-8c2b-5ede4729aff2 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/26ddf14f-930d-4f58-8c2b-5ede4729aff2 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-92397562-fb88-466c-84bd-63c2325833f2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0daf50cc-dce9-42d3-82ec-fd8ce6d28865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:03.710598+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} driver fake-driverz {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00007_nodes_get_node_reader [0.058857s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00082_nodes_vendor_passthru_delete_member [0.131888s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00063_nodes_states_raid_put_reader [0.177033s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8e5ac81d-01e4-47c4-ae58-c60cd02c9b00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8e5ac81d-01e4-47c4-ae58-c60cd02c9b00 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d52c906-3c72-4703-9fe7-3b1b985c433c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5d52c906-3c72-4703-9fe7-3b1b985c433c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d37fdb8d-aab0-4e20-8ffc-b27c709b256b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d37fdb8d-aab0-4e20-8ffc-b27c709b256b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f1ee3849-d342-43d8-9fb8-0e8dc025d4f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f1ee3849-d342-43d8-9fb8-0e8dc025d4f5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1221ec46-3a52-416d-a8eb-a7c61f34ad6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1221ec46-3a52-416d-a8eb-a7c61f34ad6f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1d82c83a-a287-4bdd-be9e-0af50d74ad13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1d82c83a-a287-4bdd-be9e-0af50d74ad13 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75bc9ed4-f356-4f85-b39a-a922edffda6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-75bc9ed4-f356-4f85-b39a-a922edffda6e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-10c4afac-31b7-48cd-912e-044449be5257 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-10c4afac-31b7-48cd-912e-044449be5257 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00107_nodes_vifs_node_vif_ident_delete_reader [0.050491s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00108_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00126_portgroups_portgroup_ident_patch_reader [0.061101s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00132_nodes_portgroups_get_reader [0.059066s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00065_nodes_states_console_get_member [0.065093s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00089_nodes_traits_put_reader [0.081178s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00136_ports_get_admin [0.049128s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00091_nodes_traits_delete_member [0.052772s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00067_nodes_states_console_put_member [0.069292s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00143_ports_detail_get_member [0.051037s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00095_nodes_traits_trait_put_reader [0.062501s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00101_nodes_vifs_get_reader [0.053426s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00068_nodes_states_console_put_reader [0.120824s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3ec17639-852f-450b-9216-487d5c590da5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3ec17639-852f-450b-9216-487d5c590da5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a871fe60-017f-4080-9fee-e530e37d84e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a871fe60-017f-4080-9fee-e530e37d84e5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad812f92-8a88-4446-bb79-6b70196c4bab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad812f92-8a88-4446-bb79-6b70196c4bab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9cb7636f-417f-428a-ad2f-28aab2bbdfe2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9cb7636f-417f-428a-ad2f-28aab2bbdfe2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50fb7ef0-7b0f-4aca-8519-b5c88aa8d52c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.049739+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50fb7ef0-7b0f-4aca-8519-b5c88aa8d52c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.049739+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51376f13-cb48-423d-b302-13d91d06e370 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.102312+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00146_ports_port_id_get_member [0.053126s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00148_ports_port_id_patch_admin [0.063133s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0daf50cc-dce9-42d3-82ec-fd8ce6d28865 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:03.710598+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/detail GET: /v1/nodes/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c63de86-9b69-4d4a-b6f7-d227ca03d92d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:03.780452+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:18:03.783341+00:00", "updated_at": "2024-09-07T17:18:03.786904+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "15b7e81a-7271-4ba2-92f0-1ef106978cf4", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "15b7e81a-7271-4ba2-92f0-1ef106978cf4", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:18:03.799915+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c63de86-9b69-4d4a-b6f7-d227ca03d92d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-09-07T17:18:03.780452+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_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"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": 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"}], "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-09-07T17:18:03.783341+00:00", "updated_at": "2024-09-07T17:18:03.786904+00:00", "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar", "traits": []}, "instance_uuid": "15b7e81a-7271-4ba2-92f0-1ef106978cf4", "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}], "conductor": null, "allocation_uuid": "15b7e81a-7271-4ba2-92f0-1ef106978cf4", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-09-07T17:18:03.799915+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11/volume", "rel": "bookmark"}]}]}{1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00013_nodes_detail_get_reader [0.275102s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00025_nodes_validate_get_admin [0.060161s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00029_nodes_maintenance_put_member [0.056342s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00102_nodes_vifs_post_admin [0.055572s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00030_nodes_maintenance_put_reader [0.079066s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00078_nodes_vendor_passthru_put_admin [0.069991s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00151_ports_port_id_delete_admin [0.055450s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00105_nodes_vifs_node_vif_ident_delete_admin [0.052996s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00032_nodes_maintenance_delete_member [0.054513s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00084_nodes_traits_get_admin [0.057345s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00152_ports_port_id_delete_member [0.061562s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00033_nodes_maintenance_delete_reader [0.054513s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00156_nodes_ports_get_reader [0.054208s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00035_nodes_management_boot_device_put_member [0.058978s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00158_nodes_ports_detail_get_member [0.070749s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00045_nodes_management_inject_nmi_put_reader [0.054445s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d3f8d9b-0962-460b-a1f2-862199920d0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8d3f8d9b-0962-460b-a1f2-862199920d0d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-34c484eb-2936-4ec1-a6e4-71d6aae36842 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-34c484eb-2936-4ec1-a6e4-71d6aae36842 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c1b102c4-91c9-4245-94af-b3332f1310eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c1b102c4-91c9-4245-94af-b3332f1310eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1944ffe4-ece1-40f2-a883-32ae55bc260a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1944ffe4-ece1-40f2-a883-32ae55bc260a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7d3aed31-6825-4b2c-b19b-119d9f66497e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-7d3aed31-6825-4b2c-b19b-119d9f66497e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cd0c0ade-5def-462b-a078-964904f6826c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-cd0c0ade-5def-462b-a078-964904f6826c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c947d9dd-77a6-4a03-8959-033990ccecac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c947d9dd-77a6-4a03-8959-033990ccecac X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35bc3f5d-6352-4e48-b15d-289b202f2345 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-35bc3f5d-6352-4e48-b15d-289b202f2345 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d189801-95ab-4843-919f-71e8d8e52f83 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00086_nodes_traits_get_reader [0.059735s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81153293-0a86-4f9e-8cf5-87e0e7715caf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-81153293-0a86-4f9e-8cf5-87e0e7715caf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c194ff8d-051d-4c23-a317-8ae2bbfccfd2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c194ff8d-051d-4c23-a317-8ae2bbfccfd2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c01ff141-e688-4f0d-8d52-2671f7f62479 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c01ff141-e688-4f0d-8d52-2671f7f62479 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3d140d22-1268-4189-bf18-b75b76b95309 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3d140d22-1268-4189-bf18-b75b76b95309 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-98636015-e5df-436f-9121-237ef8ff41d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-98636015-e5df-436f-9121-237ef8ff41d5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a78518e8-912b-48c4-8b17-4400aa05eb57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a78518e8-912b-48c4-8b17-4400aa05eb57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-65ea0d6d-3c0a-472b-8fbe-7020f85fa367 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-65ea0d6d-3c0a-472b-8fbe-7020f85fa367 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fdd96904-c716-4bc3-bd49-2c321b2f209e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-fdd96904-c716-4bc3-bd49-2c321b2f209e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00114_portgroups_get_reader [0.063502s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00087_nodes_traits_put_admin [0.121865s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00047_nodes_states_get_member [0.050576s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00116_portgroups_post_member [0.132365s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00162_portgroups_ports_get_reader [0.065724s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00088_nodes_traits_put_member [0.054620s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00118_portgroups_detail_get_admin [0.051030s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00121_portgroups_portgroup_ident_get_admin [0.054127s] ... ok API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f73ab06d-db57-47a9-a876-984b943fbc34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f73ab06d-db57-47a9-a876-984b943fbc34 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-97b80d4b-67bf-4245-a42b-b58a730b28a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-97b80d4b-67bf-4245-a42b-b58a730b28a2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f325e03-a856-4a0c-a647-d8803c3eb4e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6f325e03-a856-4a0c-a647-d8803c3eb4e3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4c063836-eeba-402e-b6b0-ea876b80b1a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4c063836-eeba-402e-b6b0-ea876b80b1a6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b4ebe52c-2e88-4f76-8acb-c91945ba9b01 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b4ebe52c-2e88-4f76-8acb-c91945ba9b01 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3b62b138-7836-4c41-9c94-a1945c7e22d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3b62b138-7836-4c41-9c94-a1945c7e22d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-93623fb2-c7c1-4be0-981b-b2592e425595 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-93623fb2-c7c1-4be0-981b-b2592e425595 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d66a072b-f84e-4334-aaa4-23da38d225ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d66a072b-f84e-4334-aaa4-23da38d225ba X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00048_nodes_states_get_reader [0.051164s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51376f13-cb48-423d-b302-13d91d06e370 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.102312+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ca197cbd-f827-478d-9760-500ac4cec226 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ca197cbd-f827-478d-9760-500ac4cec226 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d1873cfb-5e11-40c4-af84-4fd9b833eba4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-d1873cfb-5e11-40c4-af84-4fd9b833eba4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6d167d81-4e05-43d5-944b-72c78dbc59bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6d167d81-4e05-43d5-944b-72c78dbc59bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a833b7df-9fc0-444e-8daa-96695e6a9cdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a833b7df-9fc0-444e-8daa-96695e6a9cdf X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a338011c-3b3d-4ffd-b367-348dd80b550b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.392532+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a338011c-3b3d-4ffd-b367-348dd80b550b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.392532+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bcf68c34-787b-4430-a037-93877653a5e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bcf68c34-787b-4430-a037-93877653a5e0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00165_portgroups_ports_detail_get_reader [0.062162s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00170_volume_connectors_get_member [0.052806s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00129_portgroups_portgroup_ident_delete_reader [0.067025s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00055_nodes_states_secure_boot_put_admin [0.137521s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00183_volume_volume_connector_id_delete_reader [0.073167s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00090_nodes_traits_delete_admin [0.173578s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a372b3b-2f2b-411e-aabc-b2f61e9a0b7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9a372b3b-2f2b-411e-aabc-b2f61e9a0b7f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e152cde1-9f92-48f2-8f11-27df5e7c069d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e152cde1-9f92-48f2-8f11-27df5e7c069d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53223b14-f89f-485c-a40e-438811e3bba4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.523903+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53223b14-f89f-485c-a40e-438811e3bba4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.523903+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-607633f8-3ebc-44ea-91f9-e9c79cf4a3cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.575367+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-607633f8-3ebc-44ea-91f9-e9c79cf4a3cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.575367+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9ab12f5e-e977-4c9f-9ee2-8eb979d5c3cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9ab12f5e-e977-4c9f-9ee2-8eb979d5c3cb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00133_nodes_portgroups_detail_get_admin [0.065779s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00059_nodes_states_provision_put_member [0.111120s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00185_volume_targets_get_member [0.109865s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00135_nodes_portgroups_detail_get_reader [0.081166s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00062_nodes_states_raid_put_member [0.054514s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00189_volume_targets_post_reader [0.050566s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00096_nodes_traits_trait_delete_admin [0.163911s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00138_ports_get_reader [0.083690s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00190_volume_volume_target_id_get_admin [0.075819s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00098_nodes_traits_trait_delete_reader [0.050096s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00144_ports_detail_get_reader [0.052561s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00066_nodes_states_console_put_admin [0.107970s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00103_nodes_vifs_post_member [0.051957s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00106_nodes_vifs_node_vif_ident_delete_member [0.049750s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05ca85bc-9cc5-4e10-aad5-afd4a3976015 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-05ca85bc-9cc5-4e10-aad5-afd4a3976015 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91ac7795-1e06-4e65-b540-d08eb3558a09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-91ac7795-1e06-4e65-b540-d08eb3558a09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e097b27b-660a-460e-a0d6-be9a7fe28fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e097b27b-660a-460e-a0d6-be9a7fe28fb0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08aca579-b30a-40c7-8851-ac7dec416035 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-08aca579-b30a-40c7-8851-ac7dec416035 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9ebcddc3-2ea0-4bd5-b865-a54f1f4496e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-9ebcddc3-2ea0-4bd5-b865-a54f1f4496e4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5748c2d7-2973-44c0-be55-370c85e02de6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.900428+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5748c2d7-2973-44c0-be55-370c85e02de6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.900428+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39fdb829-7fa2-4707-bceb-4f7a0c827c05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.957729+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00191_volume_volume_target_id_get_member [0.054957s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00071_nodes_vendor_passthru_methods_get_reader [0.141611s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00193_volume_volume_target_id_patch_admin [0.129676s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2b55192-508b-4baf-9356-e6d092c8c67a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.698383+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2b55192-508b-4baf-9356-e6d092c8c67a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.698383+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf4563e8-7f1e-4b74-a1df-f62b76bcdac2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.788467+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf4563e8-7f1e-4b74-a1df-f62b76bcdac2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:04.788467+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6733605-9d88-4a37-81cf-44ac8261fa46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f6733605-9d88-4a37-81cf-44ac8261fa46 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-57bae472-30e5-4f8d-b2b3-8eaccc55ff4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.931988+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-57bae472-30e5-4f8d-b2b3-8eaccc55ff4a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.931988+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00157_nodes_ports_detail_get_admin [0.053668s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00159_nodes_ports_detail_get_reader [0.095964s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00072_nodes_vendor_passthru_get_admin [0.063034s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00161_portgroups_ports_get_member [0.070509s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00201_nodes_volume_connectors_get_admin [0.069278s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7d189801-95ab-4843-919f-71e8d8e52f83 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0a47c032-6964-431a-9d48-211a4b61d101 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-0a47c032-6964-431a-9d48-211a4b61d101 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b6fdca9c-aaf6-4a22-ba05-eb5d66c9faf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b6fdca9c-aaf6-4a22-ba05-eb5d66c9faf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c3141794-ae8d-4fc6-802b-38e32fa78e96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-c3141794-ae8d-4fc6-802b-38e32fa78e96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-73269beb-1a73-4042-b5c6-d05356cd97b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-73269beb-1a73-4042-b5c6-d05356cd97b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-91b3f741-1665-4e25-ab2b-31ccb6137e44 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-91b3f741-1665-4e25-ab2b-31ccb6137e44 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5969be1-5448-456c-9297-3f328a7fa73f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a5969be1-5448-456c-9297-3f328a7fa73f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ae8a523b-d9de-4583-967d-f8ac670c0dcd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-ae8a523b-d9de-4583-967d-f8ac670c0dcd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26506770-c395-4c20-a3c4-bf3a8026a7eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00112_portgroups_get_admin [0.059964s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00073_nodes_vendor_passthru_get_member [0.053205s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00117_portgroups_post_reader [0.074277s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00168_volume_get_reader [0.048583s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00203_nodes_volume_connectors_get_reader [0.061632s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00119_portgroups_detail_get_member [0.049491s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00177_volume_volume_connector_id_get_reader [0.054211s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00120_portgroups_detail_get_reader [0.050614s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5719c7f7-159a-4026-b78a-f0e5c9ee3bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5719c7f7-159a-4026-b78a-f0e5c9ee3bd3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b64140a0-6cc7-4581-91e4-e5c3440e6c2e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b64140a0-6cc7-4581-91e4-e5c3440e6c2e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4568a724-7cb4-429d-b4f0-2ccad59ec9c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-4568a724-7cb4-429d-b4f0-2ccad59ec9c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-75a91be3-cf05-4068-9a32-5eca2e54cda5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-75a91be3-cf05-4068-9a32-5eca2e54cda5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-52a383ff-47b3-4543-8e4c-7e0442656f0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-52a383ff-47b3-4543-8e4c-7e0442656f0e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55c1a046-49c3-4812-b435-46ea34e9e54e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55c1a046-49c3-4812-b435-46ea34e9e54e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3082af2c-c911-4280-ba9e-6bc8620b40ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3082af2c-c911-4280-ba9e-6bc8620b40ff X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c0f2dea5-91ed-405f-abb8-095cd7af84f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c0f2dea5-91ed-405f-abb8-095cd7af84f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00076_nodes_vendor_passthru_post_member [0.048931s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00077_nodes_vendor_passthru_post_reader [0.048052s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00204_nodes_volume_targets_get_admin [0.110631s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00125_portgroups_portgroup_ident_patch_member [0.052258s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00085_nodes_traits_get_member [0.057091s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5a2286f-6934-49b6-bb23-ab7463998180 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.981771+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5a2286f-6934-49b6-bb23-ab7463998180 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.981771+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22dc4479-3295-4b3c-9409-496bd475da71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.036901+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22dc4479-3295-4b3c-9409-496bd475da71 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.036901+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1504bb1d-55cb-4adb-b82c-885648dba8ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1504bb1d-55cb-4adb-b82c-885648dba8ee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06b2ec3f-7557-45a3-aa76-5dca80a2de12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06b2ec3f-7557-45a3-aa76-5dca80a2de12 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cdff5a90-6819-47e0-b3f9-e2117ac45e4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.258521+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cdff5a90-6819-47e0-b3f9-e2117ac45e4d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.258521+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00179_volume_volume_connector_id_patch_member [0.057616s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00181_volume_volume_connector_id_delete_admin [0.055891s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00128_portgroups_portgroup_ident_delete_member [0.051494s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00092_nodes_traits_delete_reader [0.053389s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00208_drivers_get_member [0.079890s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00194_volume_volume_target_id_patch_reader [0.058765s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00093_nodes_traits_trait_put_admin [0.051619s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00210_drivers_driver_name_get_admin [0.048621s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00198_nodes_volume_get_admin [0.051893s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00094_nodes_traits_trait_put_member [0.052286s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26506770-c395-4c20-a3c4-bf3a8026a7eb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-476f14d8-a38a-4d2a-bf0a-230a6d054334 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-476f14d8-a38a-4d2a-bf0a-230a6d054334 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4d8caae-917d-4b29-9aef-e4e2bc326325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.242743+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d4d8caae-917d-4b29-9aef-e4e2bc326325 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.242743+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path get /v1/portgroups/detail GET: /v1/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80b7cd21-7276-44f3-ac61-01d6c9e512f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.292221+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80b7cd21-7276-44f3-ac61-01d6c9e512f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.292221+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a719dcca-39b1-409f-999a-6325c871bbe2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a719dcca-39b1-409f-999a-6325c871bbe2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6d7f667f-b588-4265-a3d5-c6552bee8282 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6d7f667f-b588-4265-a3d5-c6552bee8282 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00130_nodes_portgroups_get_admin [0.061660s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00137_ports_get_member [0.079214s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00099_nodes_vifs_get_admin [0.056525s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39fdb829-7fa2-4707-bceb-4f7a0c827c05 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:04.957729+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e4a8870-999d-4fcf-9feb-e42463c7a54b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e4a8870-999d-4fcf-9feb-e42463c7a54b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-794c1a8e-ffa5-49e1-8df6-b97a409266cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-794c1a8e-ffa5-49e1-8df6-b97a409266cd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73ee8dc0-d7b1-4e7c-9a33-75f3fbe7ca9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73ee8dc0-d7b1-4e7c-9a33-75f3fbe7ca9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-abb5b4e0-b1b6-4330-a829-5cf1b2c2c57e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-abb5b4e0-b1b6-4330-a829-5cf1b2c2c57e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21f37e69-3305-4368-8337-eced22125633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-21f37e69-3305-4368-8337-eced22125633 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-83d37eba-2f21-4e02-9b73-2d102f929089 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-83d37eba-2f21-4e02-9b73-2d102f929089 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba956411-d07a-4ccb-b02e-440d7bcade9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00215_drivers_properties_get_reader [0.050860s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00218_drivers_raid_logical_disk_properties_get_reader [0.053566s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00205_nodes_volume_targets_get_member [0.100699s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00219_drivers_vendor_passthru_methods_get_admin [0.051310s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00100_nodes_vifs_get_member [0.057188s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00207_drivers_get_admin [0.051131s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00228_drivers_vendor_passthru_put_admin [0.050071s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00212_drivers_driver_name_get_reader [0.052275s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e280aec7-e759-4c4a-8853-6626216a73ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e280aec7-e759-4c4a-8853-6626216a73ab X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4ff8a500-eebe-4da6-aa74-ea4d7e991155 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4ff8a500-eebe-4da6-aa74-ea4d7e991155 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf4e91b8-a588-490d-ab65-141c5d9d4412 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf4e91b8-a588-490d-ab65-141c5d9d4412 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"traits": ["trait1"]} API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fea08300-15e4-4f57-b97a-2617770347f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-fea08300-15e4-4f57-b97a-2617770347f4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1243e9e3-b6e3-4241-995c-8a1debd768c7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1243e9e3-b6e3-4241-995c-8a1debd768c7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e9059af-7fea-44ee-b988-e9d86f76bd78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3e9059af-7fea-44ee-b988-e9d86f76bd78 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3a449c56-b371-4677-b5f4-78bc59891291 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-3a449c56-b371-4677-b5f4-78bc59891291 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b600bda8-e228-44b4-b0d7-efd625fae545 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-b600bda8-e228-44b4-b0d7-efd625fae545 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-498b3954-8e76-4e8f-8717-2d871e519d09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00104_nodes_vifs_post_reader [0.053666s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00109_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00139_ports_post_admin [0.204720s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00113_portgroups_get_member [0.054988s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00231_drivers_vendor_passthru_delete_admin [0.126048s] ... ok GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f35e37db-a076-49a0-84a0-335366e98ce2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f35e37db-a076-49a0-84a0-335366e98ce2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-236389f9-c31e-4208-8155-ad4b86662a39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-236389f9-c31e-4208-8155-ad4b86662a39 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-86d00cf6-35ae-4cca-9247-35b659be5521 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-86d00cf6-35ae-4cca-9247-35b659be5521 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-375dc4b4-3817-4b42-a6e1-199ee7fb9c9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-375dc4b4-3817-4b42-a6e1-199ee7fb9c9b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0251e300-33ec-45d5-9fd2-15a050c19ebd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0251e300-33ec-45d5-9fd2-15a050c19ebd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-856fe7fa-ef4e-416e-b621-b4efbc05066b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-856fe7fa-ef4e-416e-b621-b4efbc05066b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a6ce968-19f5-4fd1-bb31-44af2edff4f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3a6ce968-19f5-4fd1-bb31-44af2edff4f0 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00220_drivers_vendor_passthru_methods_get_member [0.049886s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00222_drivers_vendor_passthru_get_admin [0.053913s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00140_ports_post_member [0.052623s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00115_portgroups_post_admin [0.058404s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00224_drivers_vendor_passthru_get_reader [0.050539s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00145_ports_port_id_get_admin [0.052975s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00235_nodes_bios_get_reader [0.065717s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00122_portgroups_portgroup_ident_get_member [0.053509s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00227_drivers_vendor_passthru_post_reader [0.052905s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00240_conductors_get_member [0.055473s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00230_drivers_vendor_passthru_put_reader [0.050196s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da6f4083-cdf7-47a3-8d52-7802134a2b65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da6f4083-cdf7-47a3-8d52-7802134a2b65 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/ports GET: /v1/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f97fc02-5444-4ae1-80f3-e590797b2390 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3f97fc02-5444-4ae1-80f3-e590797b2390 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a3e9f39-ada2-4b82-a3bd-63a69044cb7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} ACL Test GOT Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a3e9f39-ada2-4b82-a3bd-63a69044cb7c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '22e26c0b-03f2-4d2e-ae87-c02d7f33c000', 'address': '03:04:05:06:07:08'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-159f7878-442a-4155-a762-20fcf977c1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-159f7878-442a-4155-a762-20fcf977c1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b152563-2f7a-4196-bab5-c3160e73e73d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.851658+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8b152563-2f7a-4196-bab5-c3160e73e73d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.851658+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fefa5c63-d565-439d-a625-5e94cfc647e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.904330+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00147_ports_port_id_get_reader [0.058894s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-498b3954-8e76-4e8f-8717-2d871e519d09 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} API ACL Testing Path get /v1/portgroups GET: /v1/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a258450-8384-4064-931d-41031e45dc63 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5a258450-8384-4064-931d-41031e45dc63 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path post /v1/portgroups POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d Openstack-Request-Id: req-53b92a63-9b43-47b6-a9d3-4c39c07ebba5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "36a2bb6a-e88d-48b6-b3c0-264e01d1321d", "created_at": "2024-09-07T17:18:05.846353+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d", "rel": "self"}, {"href": "http://localhost/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d/ports", "rel": "self"}, {"href": "http://localhost/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d/ports", "rel": "bookmark"}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d Openstack-Request-Id: req-53b92a63-9b43-47b6-a9d3-4c39c07ebba5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "36a2bb6a-e88d-48b6-b3c0-264e01d1321d", "created_at": "2024-09-07T17:18:05.846353+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": null, "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d", "rel": "self"}, {"href": "http://localhost/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d/ports", "rel": "self"}, {"href": "http://localhost/portgroups/36a2bb6a-e88d-48b6-b3c0-264e01d1321d/ports", "rel": "bookmark"}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc2ae48c-e2d9-403e-9ded-dcaa392cf367 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.877761+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fc2ae48c-e2d9-403e-9ded-dcaa392cf367 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.877761+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96bc1516-2d36-4d39-9f54-90cbd3304673 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.931753+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00123_portgroups_portgroup_ident_get_reader [0.055021s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00124_portgroups_portgroup_ident_patch_admin [0.054359s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00149_ports_port_id_patch_member [0.085889s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:allocation:create_pre_rbac": "(rule:is_member and role:baremetal_admin) or (is_admin_project:True and role:admin)" failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00245_allocations_post_admin [0.107459s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00150_ports_port_id_patch_reader [0.051925s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00127_portgroups_portgroup_ident_delete_admin [0.078400s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00153_ports_port_id_delete_reader [0.049272s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00131_nodes_portgroups_get_member [0.063139s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:allocation:create_pre_rbac": "(rule:is_member and role:baremetal_admin) or (is_admin_project:True and role:admin)" failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00246_allocations_post_member [0.117024s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00154_nodes_ports_get_admin [0.054653s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00232_drivers_vendor_passthru_delete_reader [0.238982s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00134_nodes_portgroups_detail_get_member [0.056515s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00160_portgroups_ports_get_admin [0.052697s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00141_ports_post_reader [0.050543s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00171_volume_connectors_get_reader [0.050172s] ... ok ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ba956411-d07a-4ccb-b02e-440d7bcade9d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-853d37e0-c13a-41a6-8a6f-ea75b91b797a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-853d37e0-c13a-41a6-8a6f-ea75b91b797a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-818ab696-d779-4b5e-b520-fce0883583c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-818ab696-d779-4b5e-b520-fce0883583c1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-80c83a38-e647-4010-b5f2-ff57d0d8677c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-80c83a38-e647-4010-b5f2-ff57d0d8677c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e7c18b15-4bdc-4de7-a57c-73f3cd1f4f76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e7c18b15-4bdc-4de7-a57c-73f3cd1f4f76 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-63de544e-18b7-4e9e-81d3-3c484386dde4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:18:05.859042+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-63de544e-18b7-4e9e-81d3-3c484386dde4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:18:05.859042+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cc160120-9787-4019-8746-c118cc93334a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cc160120-9787-4019-8746-c118cc93334a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1af8c2fa-eded-4285-8931-c9e5fb1f6eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-1af8c2fa-eded-4285-8931-c9e5fb1f6eb4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-09e5e62c-fa42-46a0-8166-2bf493784913 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-09e5e62c-fa42-46a0-8166-2bf493784913 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/allocations {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00248_allocations_get_admin [0.064421s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00234_nodes_bios_get_member [0.091204s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00253_allocations_allocation_id_get_reader [0.064117s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-96bc1516-2d36-4d39-9f54-90cbd3304673 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:05.931753+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]} API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5dd65a27-79da-46e8-b218-b2a6e8b6cff5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5dd65a27-79da-46e8-b218-b2a6e8b6cff5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a2066441-e4f9-4e25-a877-7d97587cb9dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-a2066441-e4f9-4e25-a877-7d97587cb9dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84fb61a0-52c7-4a58-8b1d-5da284bf0cf1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-84fb61a0-52c7-4a58-8b1d-5da284bf0cf1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7322dd5-e0ef-40c7-a64d-246639e2d334 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:06.184636+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7322dd5-e0ef-40c7-a64d-246639e2d334 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-09-07T17:18:06.184636+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}]}]} API ACL Testing Path post /v1/ports POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01dee286-26af-4da5-84e1-8c4c3b8eb2f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-01dee286-26af-4da5-84e1-8c4c3b8eb2f6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/ports/detail GET: /v1/ports/detail {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00142_ports_detail_get_admin [0.057198s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00255_allocations_allocation_id_patch_member [0.189759s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00155_nodes_ports_get_member [0.057998s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00163_portgroups_ports_detail_get_admin [0.054057s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00164_portgroups_ports_detail_get_member [0.052191s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fefa5c63-d565-439d-a625-5e94cfc647e2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:05.904330+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-50088f2a-6e64-4078-9dd2-9254f1fc04f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-50088f2a-6e64-4078-9dd2-9254f1fc04f1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dd6cd431-2577-430c-99d1-ea215b5dda2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dd6cd431-2577-430c-99d1-ea215b5dda2a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0dc6f827-415f-4f45-ad41-28d6d4e30e61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-0dc6f827-415f-4f45-ad41-28d6d4e30e61 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f40ab5b1-edfe-49af-ac97-ad97e9791b41 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f40ab5b1-edfe-49af-ac97-ad97e9791b41 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e20cba66-4853-4cb8-aa3e-d11adffc0ac5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e20cba66-4853-4cb8-aa3e-d11adffc0ac5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e4d9e11-2f05-482d-90ae-a1142dea9a36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e4d9e11-2f05-482d-90ae-a1142dea9a36 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac Openstack-Request-Id: req-37812c7e-2a8c-45a3-be58-b792826a3b88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac", "created_at": "2024-09-07T17:18:06.334220+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac", "rel": "self"}, {"href": "http://localhost/volume/connectors/ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00172_volume_connectors_post_admin [0.063065s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00173_volume_connectors_post_member [0.159933s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00166_volume_get_admin [0.057953s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-61c0f89d-7b02-451d-8f60-dcb41db830be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-61c0f89d-7b02-451d-8f60-dcb41db830be X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6d24064a-3c33-4ffa-a847-d66e7a3c2c2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6d24064a-3c33-4ffa-a847-d66e7a3c2c2d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-86123a28-af5b-4a23-ad61-3bed4fa4e406 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-86123a28-af5b-4a23-ad61-3bed4fa4e406 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c18a89d-966e-4ae1-9ca8-c84db89860b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c18a89d-966e-4ae1-9ca8-c84db89860b6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ac45ad1-0600-43d2-ba32-3af957da5d14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ac45ad1-0600-43d2-ba32-3af957da5d14 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eab656a8-0439-4a86-bc8c-e129a7255ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-eab656a8-0439-4a86-bc8c-e129a7255ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c68b58a5-4e20-4934-b919-27b4b509d689 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:18:06.274196+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c68b58a5-4e20-4934-b919-27b4b509d689 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:18:06.274196+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3886276f-3266-4946-9867-bdc51dd0d55d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:18:06.332919+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00236_nodes_bios_bios_setting_get_admin [0.054111s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00242_conductors_hostname_get_admin [0.049576s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00252_allocations_allocation_id_get_member [0.052758s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00259_allocations_allocation_id_delete_reader [0.073804s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00176_volume_volume_connector_id_get_member [0.063852s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00261_nodes_allocation_get_member [0.126088s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00167_volume_get_member [0.053294s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00263_nodes_allocation_delete_admin [0.056770s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00178_volume_volume_connector_id_patch_admin [0.053690s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00268_deploy_templates_post_reader [0.059702s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00184_volume_targets_get_admin [0.052992s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bb5ae9f-ffd3-439d-9fd1-9d561ea2861c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.295800+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bb5ae9f-ffd3-439d-9fd1-9d561ea2861c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.295800+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9854193c-dea7-4494-91de-d80c1acf036a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9854193c-dea7-4494-91de-d80c1acf036a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79d45254-884d-4643-b4aa-5a3c3bc7d4af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-79d45254-884d-4643-b4aa-5a3c3bc7d4af X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e552ce0-e73c-4826-8b61-66ad1df61664 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e552ce0-e73c-4826-8b61-66ad1df61664 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"ports": []} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52376c76-3432-4f48-abde-01d3b959aba5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-52376c76-3432-4f48-abde-01d3b959aba5 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/volume GET: /v1/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a448462b-6ff7-48c4-9c6d-2396d62716a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a448462b-6ff7-48c4-9c6d-2396d62716a3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/volume/connectors GET: /v1/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb399e9b-c652-4775-8837-80f9c0c61fa4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00186_volume_targets_get_reader [0.050098s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00169_volume_connectors_get_admin [0.052295s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00174_volume_connectors_post_reader [0.052098s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00175_volume_volume_connector_id_get_admin [0.058382s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00269_deploy_templates_get_admin [0.114332s] ... ok GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e292b3e-2bc8-4c03-9b20-4d02d76b7ced X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "dcf21b97-195a-426d-9fed-0076aa29f953", "created_at": "2024-09-07T17:18:06.195462+00:00", "updated_at": "2024-09-07T17:18:06.202130+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dcf21b97-195a-426d-9fed-0076aa29f953", "rel": "self"}, {"href": "http://localhost/allocations/dcf21b97-195a-426d-9fed-0076aa29f953", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e292b3e-2bc8-4c03-9b20-4d02d76b7ced X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "dcf21b97-195a-426d-9fed-0076aa29f953", "created_at": "2024-09-07T17:18:06.195462+00:00", "updated_at": "2024-09-07T17:18:06.202130+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dcf21b97-195a-426d-9fed-0076aa29f953", "rel": "self"}, {"href": "http://localhost/allocations/dcf21b97-195a-426d-9fed-0076aa29f953", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/f0ccde8c-f585-4fb9-86e6-a648cb780c8e GET: /v1/allocations/f0ccde8c-f585-4fb9-86e6-a648cb780c8e {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da1b02d5-6798-408a-a0a1-c691428f9f74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f0ccde8c-f585-4fb9-86e6-a648cb780c8e", "created_at": "2024-09-07T17:18:06.258181+00:00", "updated_at": "2024-09-07T17:18:06.265725+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f0ccde8c-f585-4fb9-86e6-a648cb780c8e", "rel": "self"}, {"href": "http://localhost/allocations/f0ccde8c-f585-4fb9-86e6-a648cb780c8e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da1b02d5-6798-408a-a0a1-c691428f9f74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "f0ccde8c-f585-4fb9-86e6-a648cb780c8e", "created_at": "2024-09-07T17:18:06.258181+00:00", "updated_at": "2024-09-07T17:18:06.265725+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/f0ccde8c-f585-4fb9-86e6-a648cb780c8e", "rel": "self"}, {"href": "http://localhost/allocations/f0ccde8c-f585-4fb9-86e6-a648cb780c8e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/b17d649e-8700-4d03-8ccd-4b85d31d81dc PATCH: /v1/allocations/b17d649e-8700-4d03-8ccd-4b85d31d81dc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39af6dec-1bb0-4e95-8a26-31f37f502a49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b17d649e-8700-4d03-8ccd-4b85d31d81dc", "created_at": "2024-09-07T17:18:06.335775+00:00", "updated_at": "2024-09-07T17:18:06.483645+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b17d649e-8700-4d03-8ccd-4b85d31d81dc", "rel": "self"}, {"href": "http://localhost/allocations/b17d649e-8700-4d03-8ccd-4b85d31d81dc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-39af6dec-1bb0-4e95-8a26-31f37f502a49 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "b17d649e-8700-4d03-8ccd-4b85d31d81dc", "created_at": "2024-09-07T17:18:06.335775+00:00", "updated_at": "2024-09-07T17:18:06.483645+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/b17d649e-8700-4d03-8ccd-4b85d31d81dc", "rel": "self"}, {"href": "http://localhost/allocations/b17d649e-8700-4d03-8ccd-4b85d31d81dc", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/1b41baef-0233-49a0-be5f-73286d944173 DELETE: /v1/allocations/1b41baef-0233-49a0-be5f-73286d944173 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2530117e-b06f-4081-a6d9-ee4bcde307d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2530117e-b06f-4081-a6d9-ee4bcde307d9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8ce79164-ff51-44d6-b680-1722d17b8874 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-8ce79164-ff51-44d6-b680-1722d17b8874 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8bfcfe9-00e7-4a33-b2cb-e2bcd5291d33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "82e2784a-d74a-47d6-b376-e67a824707f9", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/82e2784a-d74a-47d6-b376-e67a824707f9", "rel": "self"}, {"href": "http://localhost/deploy_templates/82e2784a-d74a-47d6-b376-e67a824707f9", "rel": "bookmark"}]}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00271_deploy_templates_get_reader [0.065122s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00272_deploy_templates_deploy_template_id_get_admin [0.094017s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00180_volume_volume_connector_id_patch_reader [0.057385s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00273_deploy_templates_deploy_template_id_get_member [0.049893s] ... ok ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac Openstack-Request-Id: req-37812c7e-2a8c-45a3-be58-b792826a3b88 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac", "created_at": "2024-09-07T17:18:06.334220+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac", "rel": "self"}, {"href": "http://localhost/volume/connectors/ac8ab1e2-6b92-4ff7-adba-b8d50f3c41ac", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/cadd0322-c39a-46d6-85c2-c9f046fdd397 Openstack-Request-Id: req-1cbd226a-86ec-4577-ae76-1c9b7b490122 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cadd0322-c39a-46d6-85c2-c9f046fdd397", "created_at": "2024-09-07T17:18:06.492224+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/cadd0322-c39a-46d6-85c2-c9f046fdd397", "rel": "self"}, {"href": "http://localhost/volume/connectors/cadd0322-c39a-46d6-85c2-c9f046fdd397", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/cadd0322-c39a-46d6-85c2-c9f046fdd397 Openstack-Request-Id: req-1cbd226a-86ec-4577-ae76-1c9b7b490122 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "cadd0322-c39a-46d6-85c2-c9f046fdd397", "created_at": "2024-09-07T17:18:06.492224+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/cadd0322-c39a-46d6-85c2-c9f046fdd397", "rel": "self"}, {"href": "http://localhost/volume/connectors/cadd0322-c39a-46d6-85c2-c9f046fdd397", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-897625ec-ac7a-4c4d-b926-be3e8dc98248 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.551913+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-897625ec-ac7a-4c4d-b926-be3e8dc98248 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.551913+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-236b87ee-5421-42f3-ab31-90c9b246ef15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-236b87ee-5421-42f3-ab31-90c9b246ef15 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc250642-2275-4fb9-9d12-3e617f746c94 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bc250642-2275-4fb9-9d12-3e617f746c94 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/volume/targets GET: /v1/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50fc7fd6-33cc-4c2b-9832-8db05c5e7719 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50fc7fd6-33cc-4c2b-9832-8db05c5e7719 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00187_volume_targets_post_admin [0.065544s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00182_volume_volume_connector_id_delete_member [0.057769s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00278_deploy_templates_deploy_template_id_delete_admin [0.050674s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00195_volume_volume_target_id_delete_admin [0.088645s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3886276f-3266-4946-9867-bdc51dd0d55d X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:18:06.332919+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e38a002b-06aa-403f-b319-058cc390ae3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:18:06.383460+00:00", "updated_at": "2024-09-07T17:18:06.384201+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e38a002b-06aa-403f-b319-058cc390ae3f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:18:06.383460+00:00", "updated_at": "2024-09-07T17:18:06.384201+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} API ACL Testing Path get /v1/allocations/210c32e5-4380-40f8-975f-2e0ee1b902c4 GET: /v1/allocations/210c32e5-4380-40f8-975f-2e0ee1b902c4 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2407a69d-b1d8-4997-94f9-8f3d5411bf02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "210c32e5-4380-40f8-975f-2e0ee1b902c4", "created_at": "2024-09-07T17:18:06.422005+00:00", "updated_at": "2024-09-07T17:18:06.427893+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/210c32e5-4380-40f8-975f-2e0ee1b902c4", "rel": "self"}, {"href": "http://localhost/allocations/210c32e5-4380-40f8-975f-2e0ee1b902c4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2407a69d-b1d8-4997-94f9-8f3d5411bf02 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "210c32e5-4380-40f8-975f-2e0ee1b902c4", "created_at": "2024-09-07T17:18:06.422005+00:00", "updated_at": "2024-09-07T17:18:06.427893+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/210c32e5-4380-40f8-975f-2e0ee1b902c4", "rel": "self"}, {"href": "http://localhost/allocations/210c32e5-4380-40f8-975f-2e0ee1b902c4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b05b9f9d-e69e-4c63-8b4b-35e35b3d0009 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "58532cb6-fb58-443c-a32c-e654a1555d0e", "created_at": "2024-09-07T17:18:06.502077+00:00", "updated_at": "2024-09-07T17:18:06.519992+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/58532cb6-fb58-443c-a32c-e654a1555d0e", "rel": "self"}, {"href": "http://localhost/allocations/58532cb6-fb58-443c-a32c-e654a1555d0e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b05b9f9d-e69e-4c63-8b4b-35e35b3d0009 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "58532cb6-fb58-443c-a32c-e654a1555d0e", "created_at": "2024-09-07T17:18:06.502077+00:00", "updated_at": "2024-09-07T17:18:06.519992+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/58532cb6-fb58-443c-a32c-e654a1555d0e", "rel": "self"}, {"href": "http://localhost/allocations/58532cb6-fb58-443c-a32c-e654a1555d0e", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e715c9d3-50b3-494a-9a7a-2fc76284940e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e715c9d3-50b3-494a-9a7a-2fc76284940e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9012626a-be78-4854-8a02-9498307bbc8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "a3a38ebd-5d01-4375-b2b8-50c3bba2776e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/a3a38ebd-5d01-4375-b2b8-50c3bba2776e", "rel": "self"}, {"href": "http://localhost/deploy_templates/a3a38ebd-5d01-4375-b2b8-50c3bba2776e", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9012626a-be78-4854-8a02-9498307bbc8f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "a3a38ebd-5d01-4375-b2b8-50c3bba2776e", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/a3a38ebd-5d01-4375-b2b8-50c3bba2776e", "rel": "self"}, {"href": "http://localhost/deploy_templates/a3a38ebd-5d01-4375-b2b8-50c3bba2776e", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/421b6359-aff9-4cd1-a838-d8483691f1e4 GET: /v1/deploy_templates/421b6359-aff9-4cd1-a838-d8483691f1e4 {} {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00274_deploy_templates_deploy_template_id_get_reader [0.074172s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00283_chassis_post_reader [0.051012s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00196_volume_volume_target_id_delete_member [0.052012s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00188_volume_targets_post_member [0.092187s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00275_deploy_templates_deploy_template_id_patch_admin [0.145655s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00284_chassis_get_admin [0.049669s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00214_drivers_properties_get_member [0.049710s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00216_drivers_raid_logical_disk_properties_get_admin [0.048149s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00276_deploy_templates_deploy_template_id_patch_member [0.094103s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00223_drivers_vendor_passthru_get_member [0.047879s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8bfcfe9-00e7-4a33-b2cb-e2bcd5291d33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "82e2784a-d74a-47d6-b376-e67a824707f9", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/82e2784a-d74a-47d6-b376-e67a824707f9", "rel": "self"}, {"href": "http://localhost/deploy_templates/82e2784a-d74a-47d6-b376-e67a824707f9", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/deploy_templates/8b467253-14cf-4d18-8100-de1040c2f738 GET: /v1/deploy_templates/8b467253-14cf-4d18-8100-de1040c2f738 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6213fcbf-d7c1-4956-97ad-67224d0ffafc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8b467253-14cf-4d18-8100-de1040c2f738", "created_at": "2024-09-07T17:18:06.757076+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8b467253-14cf-4d18-8100-de1040c2f738", "rel": "self"}, {"href": "http://localhost/deploy_templates/8b467253-14cf-4d18-8100-de1040c2f738", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6213fcbf-d7c1-4956-97ad-67224d0ffafc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8b467253-14cf-4d18-8100-de1040c2f738", "created_at": "2024-09-07T17:18:06.757076+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8b467253-14cf-4d18-8100-de1040c2f738", "rel": "self"}, {"href": "http://localhost/deploy_templates/8b467253-14cf-4d18-8100-de1040c2f738", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path get /v1/deploy_templates/9ab96c8b-1665-4553-9bb0-e3d802fd5a2d GET: /v1/deploy_templates/9ab96c8b-1665-4553-9bb0-e3d802fd5a2d {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-69b2bac5-345c-4181-bb8b-83ebcdb95cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9ab96c8b-1665-4553-9bb0-e3d802fd5a2d", "created_at": "2024-09-07T17:18:06.812702+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9ab96c8b-1665-4553-9bb0-e3d802fd5a2d", "rel": "self"}, {"href": "http://localhost/deploy_templates/9ab96c8b-1665-4553-9bb0-e3d802fd5a2d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-69b2bac5-345c-4181-bb8b-83ebcdb95cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "9ab96c8b-1665-4553-9bb0-e3d802fd5a2d", "created_at": "2024-09-07T17:18:06.812702+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9ab96c8b-1665-4553-9bb0-e3d802fd5a2d", "rel": "self"}, {"href": "http://localhost/deploy_templates/9ab96c8b-1665-4553-9bb0-e3d802fd5a2d", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path delete /v1/deploy_templates/94ec5785-15ae-4610-b4e2-3a963a69747a DELETE: /v1/deploy_templates/94ec5785-15ae-4610-b4e2-3a963a69747a GOT:Response: 204 No Content Openstack-Request-Id: req-078596cd-2339-49d5-b46b-ee27c6bd5df2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-078596cd-2339-49d5-b46b-ee27c6bd5df2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8290a8fd-65f6-4802-9df0-4d972a1d24ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8290a8fd-65f6-4802-9df0-4d972a1d24ef X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b762c9af-c86c-4c8e-9881-d93591b574a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b762c9af-c86c-4c8e-9881-d93591b574a9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afb58a16-adcc-4771-8b47-201d55210e74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.014951+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00287_chassis_detail_get_admin [0.051736s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bb399e9b-c652-4775-8837-80f9c0c61fa4 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path post /v1/volume/connectors POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-24766ff9-698b-4c6d-ac17-c643e80ac638 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-24766ff9-698b-4c6d-ac17-c643e80ac638 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43c00ac9-9698-4b43-925d-9f0ebf9bcc4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.738421+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-43c00ac9-9698-4b43-925d-9f0ebf9bcc4b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.738421+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c65877d1-cbb5-43c2-8c66-5a479dcd9428 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c65877d1-cbb5-43c2-8c66-5a479dcd9428 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ba945de-cfa0-4d4d-8c76-17476834ed30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-5ba945de-cfa0-4d4d-8c76-17476834ed30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/volume/targets POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/973fd554-abee-4320-98ba-fa4dbbc7f7a6 Openstack-Request-Id: req-85fd7b1e-7ffe-4ba5-bcfa-6774fe9ac1aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "973fd554-abee-4320-98ba-fa4dbbc7f7a6", "created_at": "2024-09-07T17:18:06.963935+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/973fd554-abee-4320-98ba-fa4dbbc7f7a6", "rel": "self"}, {"href": "http://localhost/volume/targets/973fd554-abee-4320-98ba-fa4dbbc7f7a6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/973fd554-abee-4320-98ba-fa4dbbc7f7a6 Openstack-Request-Id: req-85fd7b1e-7ffe-4ba5-bcfa-6774fe9ac1aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "973fd554-abee-4320-98ba-fa4dbbc7f7a6", "created_at": "2024-09-07T17:18:06.963935+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/973fd554-abee-4320-98ba-fa4dbbc7f7a6", "rel": "self"}, {"href": "http://localhost/volume/targets/973fd554-abee-4320-98ba-fa4dbbc7f7a6", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5a9bbf9-3c20-41bd-8200-250257b08b6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.999887+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00192_volume_volume_target_id_get_reader [0.054354s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00197_volume_volume_target_id_delete_reader [0.052785s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00226_drivers_vendor_passthru_post_member [0.048881s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00199_nodes_volume_get_member [0.058592s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00290_chassis_chassis_id_get_admin [0.094527s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00279_deploy_templates_deploy_template_id_delete_member [0.092535s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00200_nodes_volume_get_reader [0.047699s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00295_chassis_chassis_id_patch_reader [0.048362s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00280_deploy_templates_deploy_template_id_delete_reader [0.061598s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00296_chassis_chassis_id_delete_admin [0.050288s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00202_nodes_volume_connectors_get_member [0.057615s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/7799ca2d-9702-4be8-95f4-3d611b6be968 Openstack-Request-Id: req-a710c8e0-732d-4ad3-bade-ca3b3626da3a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7799ca2d-9702-4be8-95f4-3d611b6be968", "created_at": "2024-09-07T17:18:06.780440+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/7799ca2d-9702-4be8-95f4-3d611b6be968", "rel": "self"}, {"href": "http://localhost/volume/targets/7799ca2d-9702-4be8-95f4-3d611b6be968", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/7799ca2d-9702-4be8-95f4-3d611b6be968 Openstack-Request-Id: req-a710c8e0-732d-4ad3-bade-ca3b3626da3a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "7799ca2d-9702-4be8-95f4-3d611b6be968", "created_at": "2024-09-07T17:18:06.780440+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/7799ca2d-9702-4be8-95f4-3d611b6be968", "rel": "self"}, {"href": "http://localhost/volume/targets/7799ca2d-9702-4be8-95f4-3d611b6be968", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aac4300f-87b7-4eb8-ad63-e8b02a9bf006 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-aac4300f-87b7-4eb8-ad63-e8b02a9bf006 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f0bb6be0-3ea2-403b-aa9d-e5f62cf2f921 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-f0bb6be0-3ea2-403b-aa9d-e5f62cf2f921 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cd9aad23-ca32-4040-a029-53acc10301bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cd9aad23-ca32-4040-a029-53acc10301bd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d4647a9-6e79-4102-97ba-0ccd24eb6aee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0d4647a9-6e79-4102-97ba-0ccd24eb6aee X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8738cc73-368a-4932-949d-9bc54048ab33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8738cc73-368a-4932-949d-9bc54048ab33 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c724c9b-95a4-4355-a1c8-97c3c3064d8c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1c724c9b-95a4-4355-a1c8-97c3c3064d8c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11161f6d-6fe8-43b2-b67c-5ce143d567f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00229_drivers_vendor_passthru_put_member [0.059430s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00239_conductors_get_admin [0.073341s] ... ok {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00300_node_history_get_member [0.052055s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00281_chassis_post_admin [0.066728s] ... ok {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.019843s] ... ok {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.018980s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00243_conductors_hostname_get_member [0.071525s] ... ok {2} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.020939s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c5a9bbf9-3c20-41bd-8200-250257b08b6c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-09-07T17:18:06.999887+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-535fcbf0-3555-45b6-a228-bba546db5c96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-535fcbf0-3555-45b6-a228-bba546db5c96 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af644062-a0ed-4d6f-bc95-e38164029e28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-af644062-a0ed-4d6f-bc95-e38164029e28 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-343ae051-1758-47c5-8cd8-3c15657dc211 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-343ae051-1758-47c5-8cd8-3c15657dc211 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2177df29-66f3-4646-9034-c8cb1acffea7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2177df29-66f3-4646-9034-c8cb1acffea7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e6fa132-4627-4654-adc0-3f6990010537 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00206_nodes_volume_targets_get_reader [0.062420s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00209_drivers_get_reader [0.049833s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00211_drivers_driver_name_get_member [0.053017s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00249_allocations_get_member [0.074017s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5fee84b-4d3a-4870-8c15-dbcb5d76fdf8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "421b6359-aff9-4cd1-a838-d8483691f1e4", "created_at": "2024-09-07T17:18:06.798110+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/421b6359-aff9-4cd1-a838-d8483691f1e4", "rel": "self"}, {"href": "http://localhost/deploy_templates/421b6359-aff9-4cd1-a838-d8483691f1e4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f5fee84b-4d3a-4870-8c15-dbcb5d76fdf8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "421b6359-aff9-4cd1-a838-d8483691f1e4", "created_at": "2024-09-07T17:18:06.798110+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/421b6359-aff9-4cd1-a838-d8483691f1e4", "rel": "self"}, {"href": "http://localhost/deploy_templates/421b6359-aff9-4cd1-a838-d8483691f1e4", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/3cdd63fa-d291-4ce5-85d8-af7722a21741 PATCH: /v1/deploy_templates/3cdd63fa-d291-4ce5-85d8-af7722a21741 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bae8031-49fa-4f56-bbe4-c2cf63f3f875 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3cdd63fa-d291-4ce5-85d8-af7722a21741", "created_at": "2024-09-07T17:18:06.929368+00:00", "updated_at": "2024-09-07T17:18:06.974079+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3cdd63fa-d291-4ce5-85d8-af7722a21741", "rel": "self"}, {"href": "http://localhost/deploy_templates/3cdd63fa-d291-4ce5-85d8-af7722a21741", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1bae8031-49fa-4f56-bbe4-c2cf63f3f875 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3cdd63fa-d291-4ce5-85d8-af7722a21741", "created_at": "2024-09-07T17:18:06.929368+00:00", "updated_at": "2024-09-07T17:18:06.974079+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/3cdd63fa-d291-4ce5-85d8-af7722a21741", "rel": "self"}, {"href": "http://localhost/deploy_templates/3cdd63fa-d291-4ce5-85d8-af7722a21741", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} API ACL Testing Path patch /v1/deploy_templates/cbb3b52f-6b53-4dd0-883e-1561af96d864 PATCH: /v1/deploy_templates/cbb3b52f-6b53-4dd0-883e-1561af96d864 [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55db596c-ce4b-4f96-8b36-f15f42930d30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-55db596c-ce4b-4f96-8b36-f15f42930d30 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/c5da704a-914c-44a4-b7e9-2d4b3eb1a377 DELETE: /v1/deploy_templates/c5da704a-914c-44a4-b7e9-2d4b3eb1a377 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-17c7d532-06f6-4957-9f94-d39857d81275 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-17c7d532-06f6-4957-9f94-d39857d81275 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/deploy_templates/e3f0d2d3-0988-4f4e-b983-aac56ad2a8b1 DELETE: /v1/deploy_templates/e3f0d2d3-0988-4f4e-b983-aac56ad2a8b1 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46be09cc-2813-4a8a-915e-09667413d561 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-46be09cc-2813-4a8a-915e-09667413d561 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/chassis POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3 Openstack-Request-Id: req-a445435e-72da-4442-9965-6d0c18e8b542 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d50747e8-35e5-426b-acc1-1035da8f16f3", "created_at": "2024-09-07T17:18:07.294939+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3", "rel": "self"}, {"href": "http://localhost/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3 Openstack-Request-Id: req-a445435e-72da-4442-9965-6d0c18e8b542 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "d50747e8-35e5-426b-acc1-1035da8f16f3", "created_at": "2024-09-07T17:18:07.294939+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3", "rel": "self"}, {"href": "http://localhost/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d50747e8-35e5-426b-acc1-1035da8f16f3/nodes", "rel": "bookmark"}]]} API ACL Testing Path post /v1/chassis {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00282_chassis_post_member [0.086703s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00213_drivers_properties_get_admin [0.053918s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00250_allocations_get_reader [0.050950s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00286_chassis_get_reader [0.092563s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00217_drivers_raid_logical_disk_properties_get_member [0.050841s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00251_allocations_allocation_id_get_admin [0.051894s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.187094s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00293_chassis_chassis_id_patch_admin [0.061386s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.018923s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00221_drivers_vendor_passthru_methods_get_reader [0.049183s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.016388s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.016521s] ... ok {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00294_chassis_chassis_id_patch_member [0.062864s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00225_drivers_vendor_passthru_post_admin [0.049822s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.026834s] ... ok {0} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.016289s] ... ok ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-11161f6d-6fe8-43b2-b67c-5ce143d567f8 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d928a7ca-cbd3-43f9-b2dd-687c013a2d24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d928a7ca-cbd3-43f9-b2dd-687c013a2d24 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-321a6932-b541-481c-a12d-2334a11ef40a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:18:07.297162+00:00", "updated_at": "2024-09-07T17:18:07.297890+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-321a6932-b541-481c-a12d-2334a11ef40a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:18:07.297162+00:00", "updated_at": "2024-09-07T17:18:07.297890+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb90b738-6c2c-47cf-9cef-2cc4183a57d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "04ddd3dc-d362-49da-b9b3-9d7897d74bf1", "created_at": "2024-09-07T17:18:07.379706+00:00", "updated_at": "2024-09-07T17:18:07.385841+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/04ddd3dc-d362-49da-b9b3-9d7897d74bf1", "rel": "self"}, {"href": "http://localhost/allocations/04ddd3dc-d362-49da-b9b3-9d7897d74bf1", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb90b738-6c2c-47cf-9cef-2cc4183a57d6 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "04ddd3dc-d362-49da-b9b3-9d7897d74bf1", "created_at": "2024-09-07T17:18:07.379706+00:00", "updated_at": "2024-09-07T17:18:07.385841+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/04ddd3dc-d362-49da-b9b3-9d7897d74bf1", "rel": "self"}, {"href": "http://localhost/allocations/04ddd3dc-d362-49da-b9b3-9d7897d74bf1", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations GET: /v1/allocations {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8fb59bdd-dd36-403c-8a9b-7d3de3eab4dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "6512552f-a285-481d-aee0-5dce1b98ceea", "created_at": "2024-09-07T17:18:07.434469+00:00", "updated_at": "2024-09-07T17:18:07.440167+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6512552f-a285-481d-aee0-5dce1b98ceea", "rel": "self"}, {"href": "http://localhost/allocations/6512552f-a285-481d-aee0-5dce1b98ceea", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8fb59bdd-dd36-403c-8a9b-7d3de3eab4dd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"allocations": [{"uuid": "6512552f-a285-481d-aee0-5dce1b98ceea", "created_at": "2024-09-07T17:18:07.434469+00:00", "updated_at": "2024-09-07T17:18:07.440167+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6512552f-a285-481d-aee0-5dce1b98ceea", "rel": "self"}, {"href": "http://localhost/allocations/6512552f-a285-481d-aee0-5dce1b98ceea", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} API ACL Testing Path get /v1/allocations/352d2278-aee4-49c4-8e40-eb01b18b8900 GET: /v1/allocations/352d2278-aee4-49c4-8e40-eb01b18b8900 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-185f913d-8647-4443-a6a7-b03f2a54d2bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "352d2278-aee4-49c4-8e40-eb01b18b8900", "created_at": "2024-09-07T17:18:07.486219+00:00", "updated_at": "2024-09-07T17:18:07.492103+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/352d2278-aee4-49c4-8e40-eb01b18b8900", "rel": "self"}, {"href": "http://localhost/allocations/352d2278-aee4-49c4-8e40-eb01b18b8900", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-185f913d-8647-4443-a6a7-b03f2a54d2bc X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "352d2278-aee4-49c4-8e40-eb01b18b8900", "created_at": "2024-09-07T17:18:07.486219+00:00", "updated_at": "2024-09-07T17:18:07.492103+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/352d2278-aee4-49c4-8e40-eb01b18b8900", "rel": "self"}, {"href": "http://localhost/allocations/352d2278-aee4-49c4-8e40-eb01b18b8900", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/allocations/b1a5d9a3-cc4d-4111-bf49-2cfcd087e619 {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00258_allocations_allocation_id_delete_member [0.072618s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.026091s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00264_nodes_allocation_delete_member [0.051410s] ... ok {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.033822s] ... ok {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.016988s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00233_nodes_bios_get_admin [0.058170s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.013501s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.031374s] ... ok {2} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.014643s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00266_deploy_templates_post_admin [0.051174s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.022893s] ... ok {0} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.020907s] ... ok {0} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.020387s] ... ok {0} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.019387s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00285_chassis_get_member [0.086692s] ... ok {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.021059s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afb58a16-adcc-4771-8b47-201d55210e74 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.014951+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06807310-0e5f-4ee8-9e80-f3eebeaa1a5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.097313+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-06807310-0e5f-4ee8-9e80-f3eebeaa1a5b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.097313+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c443f7e6-2f85-49a1-bec7-5e12b5d8af60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c443f7e6-2f85-49a1-bec7-5e12b5d8af60 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-a601730f-4559-4211-ba54-5b9a65830ffb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 ACL Test GOT Response: 204 No Content Openstack-Request-Id: req-a601730f-4559-4211-ba54-5b9a65830ffb X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3af53f4-4feb-4fea-8f4d-b481e1451f9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "e3cd22f6-1ed4-410a-b8ab-04a920aef3f0", "created_at": "2024-09-07T17:18:07.271706+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e3cd22f6-1ed4-410a-b8ab-04a920aef3f0", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f3af53f4-4feb-4fea-8f4d-b481e1451f9c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "e3cd22f6-1ed4-410a-b8ab-04a920aef3f0", "created_at": "2024-09-07T17:18:07.271706+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e3cd22f6-1ed4-410a-b8ab-04a920aef3f0", "rel": "self"}]}]} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-30b0147d-c0f7-405a-b34c-61c1a43c5865 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-15fd1022-8af6-4361-a03c-ad6dd8a3d821 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-850a2d90-991a-4a65-a710-322090133b19 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1b78af88-31a0-4252-a14e-ea84a8e8f94e {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-17e9102f-e75c-4cab-84c5-77c4cdddf5d0 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d299f17d-f937-44eb-ad58-676b59d13e85 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": \"Traceback (most recent call last):\\n\\n File \\\"/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Error message without traceback \\n but \\n multiline\\n\"}"} GET: /v1/things {'name': 'foo', 'flag': 'truish'} {2} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.024493s] ... ok {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.037890s] ... ok {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.038843s] ... ok {2} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.032750s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4e6fa132-4627-4654-adc0-3f6990010537 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "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"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} API ACL Testing Path get /v1/drivers GET: /v1/drivers {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bebe12b7-a7a6-420c-873d-156c4b8b6f25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bebe12b7-a7a6-420c-873d-156c4b8b6f25 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"drivers": []} API ACL Testing Path get /v1/drivers/fake-driverz GET: /v1/drivers/fake-driverz {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dbd08033-58ba-4c80-b394-92ecf93c7c9e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-dbd08033-58ba-4c80-b394-92ecf93c7c9e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/properties GET: /v1/drivers/fake-driverz/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e07bf2eb-2011-4b91-aa59-175e69dbf928 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e07bf2eb-2011-4b91-aa59-175e69dbf928 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9b162441-dd39-4376-83c1-b9c2094ef519 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9b162441-dd39-4376-83c1-b9c2094ef519 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c7a653a9-33cb-4e10-b05d-e5925c5d867f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c7a653a9-33cb-4e10-b05d-e5925c5d867f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99a9797b-52ce-4ca7-9870-79448f1e0db2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} ACL Test GOT Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-99a9797b-52ce-4ca7-9870-79448f1e0db2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4a6ed694-e7bf-431d-91fe-cc91f7bd2269 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:18:07.649020+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4a6ed694-e7bf-431d-91fe-cc91f7bd2269 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"bios": [{"created_at": "2024-09-07T17:18:07.649020+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b83b1375-2501-4430-abf7-5246ed315e8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:18:07.702673+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00237_nodes_bios_bios_setting_get_member [0.053428s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00238_nodes_bios_bios_setting_get_reader [0.053042s] ... ok {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.016514s] ... ok {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.016097s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00288_chassis_detail_get_member [0.080447s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.018970s] ... ok {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.018338s] ... ok POST: /v1/chassis {'description': 'test-chassis'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa9fac86-b0e8-4f6d-bdff-cd413bfb6788 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-aa9fac86-b0e8-4f6d-bdff-cd413bfb6788 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-906869a7-38b2-4664-8dd0-03913df91156 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-906869a7-38b2-4664-8dd0-03913df91156 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb22fe4d-c2f9-4b6f-90f5-42dc1009e4ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.510343+00:00", "updated_at": "2024-09-07T17:18:07.535856+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-eb22fe4d-c2f9-4b6f-90f5-42dc1009e4ec X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.510343+00:00", "updated_at": "2024-09-07T17:18:07.535856+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path patch /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'op': 'replace', 'path': '/description', 'value': 'meow'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78057b06-4492-4ed6-8d20-e5409e9268aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.574920+00:00", "updated_at": "2024-09-07T17:18:07.600363+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78057b06-4492-4ed6-8d20-e5409e9268aa X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.574920+00:00", "updated_at": "2024-09-07T17:18:07.600363+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1d2d0578-059d-4fea-b7ee-19a3c5889e78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": \"Traceback (most recent call last):\\n\\n File \\\"/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1092, in __call__\\n return self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1096, in _mock_call\\n return self._execute_mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.9/unittest/mock.py\\\", line 1151, in _execute_mock_call\\n raise effect\\n\\nException: Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\\n\"}"} POST: /v1/things/ {'three': 'three', 'four': 'four', 'five': 'five'} GOT:Response: 201 Created Content-Type: application/json Openstack-Request-Id: req-543375da-beed-47fb-94d6-52e69fc96fc9 {"three": "three", "four": "four", "five": "five"} POST: /v1/things/ {'three': 'three', 'four': 'fourrrr', 'five': 'five'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f10a8f6c-18d7-4757-9f0d-bf6281fa16aa {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long\", \"debuginfo\": null}"} GET: /v1/things/response_custom_status {} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-58031b53-2492-441e-982a-5311f7e0a1ff "accepted" GET: / {} {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.035686s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.055240s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.043295s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. DELETE: /v1/allocations/b1a5d9a3-cc4d-4111-bf49-2cfcd087e619 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cea30719-da22-4d7d-98f8-7f6c7fe31c52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-cea30719-da22-4d7d-98f8-7f6c7fe31c52 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-caf9948b-8bc6-4733-a19e-5fd7c448df68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-caf9948b-8bc6-4733-a19e-5fd7c448df68 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/71126b83-b30f-4c6e-8507-734136fe3d3c Openstack-Request-Id: req-97b5fa09-5301-43f2-9dc8-d315f2c22cc7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "71126b83-b30f-4c6e-8507-734136fe3d3c", "created_at": "2024-09-07T17:18:07.690901+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/71126b83-b30f-4c6e-8507-734136fe3d3c", "rel": "self"}, {"href": "http://localhost/deploy_templates/71126b83-b30f-4c6e-8507-734136fe3d3c", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} ACL Test GOT Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/71126b83-b30f-4c6e-8507-734136fe3d3c Openstack-Request-Id: req-97b5fa09-5301-43f2-9dc8-d315f2c22cc7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "71126b83-b30f-4c6e-8507-734136fe3d3c", "created_at": "2024-09-07T17:18:07.690901+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/71126b83-b30f-4c6e-8507-734136fe3d3c", "rel": "self"}, {"href": "http://localhost/deploy_templates/71126b83-b30f-4c6e-8507-734136fe3d3c", "rel": "bookmark"}], "steps": [{"interface": "deploy", "step": "noop", "args": {}, "priority": 0}]} API ACL Testing Path get /v1/chassis GET: /v1/chassis {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ca2db72d-4411-4b84-9422-68d8a7ab1804 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ca2db72d-4411-4b84-9422-68d8a7ab1804 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55195fe6-3906-426d-988b-ad2091807e59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.841130+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-55195fe6-3906-426d-988b-ad2091807e59 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.841130+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path get /v1/chassis/detail GET: /v1/chassis/detail {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3922b8cd-7db1-4d9e-a633-468400e9dc57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.888715+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00289_chassis_detail_get_reader [0.047842s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00297_chassis_chassis_id_delete_member [0.046385s] ... ok INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.027804s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.074470s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.018711s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.018916s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00299_node_history_get_admin [0.051597s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.043502s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.020508s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.017427s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00241_conductors_get_reader [0.266360s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.031377s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00301_node_history_get_reader [0.050582s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.018369s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.022061s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.013117s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.011824s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00244_conductors_hostname_get_reader [0.051765s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.014115s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.013126s] ... ok {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00304_node_history_get_entry_reader [0.055438s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.052486s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.013544s] ... ok {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.013314s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.013756s] ... ok {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.026526s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00247_allocations_post_reader [0.060487s] ... ok {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.017002s] ... ok {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.018886s] ... ok {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.015128s] ... ok {0} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.013146s] ... ok {3} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.016482s] ... ok {2} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.083554s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00254_allocations_allocation_id_patch_admin [0.060889s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.026282s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.042217s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.029227s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.018419s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.034347s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.025175s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.023573s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.014660s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.012299s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.047995s] ... ok {3} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.058924s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.021059s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b83b1375-2501-4430-abf7-5246ed315e8a X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:18:07.702673+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51465024-9ac4-4d6b-88de-47de65be1134 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:18:07.755948+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51465024-9ac4-4d6b-88de-47de65be1134 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"FAKE_SETTING": {"created_at": "2024-09-07T17:18:07.755948+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "attribute_type": "Enumeration", "allowable_values": ["on", "off"], "lower_bound": null, "max_length": null, "min_length": null, "read_only": false, "reset_required": true, "unique": false, "upper_bound": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}} API ACL Testing Path get /v1/conductors GET: /v1/conductors {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-11f35a96-b3c7-4912-a9bd-939202f5a5ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-11f35a96-b3c7-4912-a9bd-939202f5a5ae X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} API ACL Testing Path get /v1/conductors/test-conductor-node GET: /v1/conductors/test-conductor-node {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce19cc38-6ee5-4ae8-88b2-a16790b1eabd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:18:08.072650+00:00", "updated_at": "2024-09-07T17:18:08.073615+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ce19cc38-6ee5-4ae8-88b2-a16790b1eabd X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"created_at": "2024-09-07T17:18:08.072650+00:00", "updated_at": "2024-09-07T17:18:08.073615+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} API ACL Testing Path post /v1/allocations POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f678bdd4-72ad-4546-bd56-1c51a2ea6671 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f678bdd4-72ad-4546-bd56-1c51a2ea6671 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} API ACL Testing Path patch /v1/allocations/3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c PATCH: /v1/allocations/3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1fbd4d09-3ff4-493f-b05d-6ffc3d59f89e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c", "created_at": "2024-09-07T17:18:08.176933+00:00", "updated_at": "2024-09-07T17:18:08.211500+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c", "rel": "self"}, {"href": "http://localhost/allocations/3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1fbd4d09-3ff4-493f-b05d-6ffc3d59f89e X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c", "created_at": "2024-09-07T17:18:08.176933+00:00", "updated_at": "2024-09-07T17:18:08.211500+00:00", "candidate_nodes": [], "extra": {"test": "testing"}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c", "rel": "self"}, {"href": "http://localhost/allocations/3bb3c1b3-c3f3-47cd-8ed6-82f80afe015c", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path patch /v1/allocations/307187d0-32b0-4a3f-9c77-12921ff4a9c3 PATCH: /v1/allocations/307187d0-32b0-4a3f-9c77-12921ff4a9c3 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00256_allocations_allocation_id_patch_reader [0.054145s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00257_allocations_allocation_id_delete_admin [0.053865s] ... ok {2} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.024535s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.025209s] ... ok {2} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.025780s] ... ok {3} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.046019s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.019964s] ... ok {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.013239s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00260_nodes_allocation_get_admin [0.057613s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.026151s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.016520s] ... ok {3} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.019076s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.032824s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.016063s] ... ok {3} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.015515s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.016034s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.029520s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00262_nodes_allocation_get_reader [0.066280s] ... ok Error while running foo: bar. {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.030684s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.032752s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.027992s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3922b8cd-7db1-4d9e-a633-468400e9dc57 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:07.888715+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]}]} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-918960da-000a-46df-a514-108ef4e148c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-918960da-000a-46df-a514-108ef4e148c2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22268cd4-676e-4d20-91f2-a75b1520adf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "92912669-19c6-4a06-8bd6-101dacd9769b", "created_at": "2024-09-07T17:18:07.992015+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/92912669-19c6-4a06-8bd6-101dacd9769b", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-22268cd4-676e-4d20-91f2-a75b1520adf9 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "92912669-19c6-4a06-8bd6-101dacd9769b", "created_at": "2024-09-07T17:18:07.992015+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/92912669-19c6-4a06-8bd6-101dacd9769b", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7dbbae2b-5bdd-493b-8f58-1e24c333c094 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "037f9752-1570-43d6-b27b-86f979d92ecf", "created_at": "2024-09-07T17:18:08.042938+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/037f9752-1570-43d6-b27b-86f979d92ecf", "rel": "self"}]}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7dbbae2b-5bdd-493b-8f58-1e24c333c094 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"history": [{"uuid": "037f9752-1570-43d6-b27b-86f979d92ecf", "created_at": "2024-09-07T17:18:08.042938+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/037f9752-1570-43d6-b27b-86f979d92ecf", "rel": "self"}]}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/362e2731-5cb9-4c1c-88b6-d598cd5a290b GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/362e2731-5cb9-4c1c-88b6-d598cd5a290b {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f84e91de-52b9-4328-b207-5423d58058b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "362e2731-5cb9-4c1c-88b6-d598cd5a290b", "created_at": "2024-09-07T17:18:08.097262+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/362e2731-5cb9-4c1c-88b6-d598cd5a290b", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f84e91de-52b9-4328-b207-5423d58058b3 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "362e2731-5cb9-4c1c-88b6-d598cd5a290b", "created_at": "2024-09-07T17:18:08.097262+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/362e2731-5cb9-4c1c-88b6-d598cd5a290b", "rel": "self"}]} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-348762b0-1f8f-47df-a150-09acdc8f5b10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": null}"} GET: /v1/things {'name': 'foo', 'flag': True} GOT:{'foo': True} GET: /v1/things/no_content {} GOT:Response: 204 No Content Openstack-Request-Id: req-36d74a0b-3120-4c87-9c89-df6c48d2f8e4 GET: /v1/things/response_content {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2adbdf5a-263f-499a-908a-c996d9a37d70 "nothing" GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/foo {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/ {} {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.015714s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.030465s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.015977s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.014342s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.013824s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.014172s] ... ok {3} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.013837s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.034635s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.011085s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00265_nodes_allocation_delete_reader [0.080247s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.031369s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.011246s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.019957s] ... ok {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.011003s] ... ok {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.012483s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.021919s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.032729s] ... ok {3} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.011062s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00267_deploy_templates_post_member [0.051794s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.031289s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.030324s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.039465s] ... ok {2} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.012958s] ... ok {0} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.014894s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_capture_region [0.011928s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.015696s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.016982s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.042895s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.017180s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-638068c7-e33e-45a5-af77-47356422721c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-638068c7-e33e-45a5-af77-47356422721c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} API ACL Testing Path delete /v1/allocations/3215e3c2-f0d0-4602-8207-c4beb701b425 DELETE: /v1/allocations/3215e3c2-f0d0-4602-8207-c4beb701b425 GOT:Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-302b9b62-7509-4454-8bdd-e2768236a4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} ACL Test GOT Response: 503 Service Unavailable Content-Type: application/json Openstack-Request-Id: req-302b9b62-7509-4454-8bdd-e2768236a4d7 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3368c3a5-140d-44a0-a843-e1f9cef45a8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c52259a1-dc1f-42ad-94af-868ab8e0d7c2", "created_at": "2024-09-07T17:18:08.346916+00:00", "updated_at": "2024-09-07T17:18:08.352851+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c52259a1-dc1f-42ad-94af-868ab8e0d7c2", "rel": "self"}, {"href": "http://localhost/allocations/c52259a1-dc1f-42ad-94af-868ab8e0d7c2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3368c3a5-140d-44a0-a843-e1f9cef45a8b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c52259a1-dc1f-42ad-94af-868ab8e0d7c2", "created_at": "2024-09-07T17:18:08.346916+00:00", "updated_at": "2024-09-07T17:18:08.352851+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c52259a1-dc1f-42ad-94af-868ab8e0d7c2", "rel": "self"}, {"href": "http://localhost/allocations/c52259a1-dc1f-42ad-94af-868ab8e0d7c2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afdb3c1d-f6ce-48e3-9310-9be802000e17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c8fa8db9-d566-455b-a6bd-adf40e552aba", "created_at": "2024-09-07T17:18:08.402361+00:00", "updated_at": "2024-09-07T17:18:08.409289+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c8fa8db9-d566-455b-a6bd-adf40e552aba", "rel": "self"}, {"href": "http://localhost/allocations/c8fa8db9-d566-455b-a6bd-adf40e552aba", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-afdb3c1d-f6ce-48e3-9310-9be802000e17 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "c8fa8db9-d566-455b-a6bd-adf40e552aba", "created_at": "2024-09-07T17:18:08.402361+00:00", "updated_at": "2024-09-07T17:18:08.409289+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c8fa8db9-d566-455b-a6bd-adf40e552aba", "rel": "self"}, {"href": "http://localhost/allocations/c8fa8db9-d566-455b-a6bd-adf40e552aba", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e851fef5-bb05-4ee5-9c95-f61a98eeebe1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-e851fef5-bb05-4ee5-9c95-f61a98eeebe1 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} API ACL Testing Path post /v1/deploy_templates POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3acf6f4-9d3f-4596-a69b-501363054710 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-a3acf6f4-9d3f-4596-a69b-501363054710 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} API ACL Testing Path get /v1/deploy_templates GET: /v1/deploy_templates {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd15df6d-cf39-4204-870d-00a5f30fb991 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "af76ec0c-58de-4dd7-920b-86f736daa4dc", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/af76ec0c-58de-4dd7-920b-86f736daa4dc", "rel": "self"}, {"href": "http://localhost/deploy_templates/af76ec0c-58de-4dd7-920b-86f736daa4dc", "rel": "bookmark"}]}]} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00270_deploy_templates_get_member [0.051462s] ... ok /bin/sh: line 1: qemu-img: command not found {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00277_deploy_templates_deploy_template_id_patch_reader [0.055835s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_from_file_reads_minimum ... SKIPPED: qemu-img not installed or does not support qcow2 format {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.044989s] ... ok {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.047597s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.014191s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.029574s] ... ok /bin/sh: line 1: qemu-img: command not found {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.013757s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qed_always_unsafe ... SKIPPED: qemu-img not installed or does not support qed format {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00291_chassis_chassis_id_get_member [0.051412s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vhd_invalid [0.017303s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.032138s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.024567s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.017395s] ... ok /bin/sh: line 1: qemu-img: command not found {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.024255s] ... ok {3} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.012336s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset_stream_optimized ... SKIPPED: qemu-img not installed or does not support vmdk format {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00292_chassis_chassis_id_get_reader [0.053709s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.018873s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.024471s] ... ok {0} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_invalid [0.027646s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_fallback [0.013697s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.014008s] ... ok {2} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.024908s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.013460s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.012178s] ... ok {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.012453s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.013685s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00298_chassis_chassis_id_delete_reader [0.052283s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_get_inspector [0.011547s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.017838s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.013976s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like_eats_error [0.017576s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.013733s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.021990s] ... ok {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.013284s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like_eats_error [0.018029s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.014753s] ... ok {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00302_node_history_get_entry_admin [0.055922s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.012195s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.024592s] ... ok /bin/sh: line 1: mkisofs: command not found {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_iso_9660 ... SKIPPED: mkisofs not installed {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.013281s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000317s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.011427s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.024081s] ... ok /bin/sh: line 1: qemu-img: command not found {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2 ... SKIPPED: qemu-img not installed or does not support qcow2 format {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.015773s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.017293s] ... ok {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2_invalid [0.014201s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.016152s] ... ok {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.015953s] ... ok /bin/sh: line 1: qemu-img: command not found {2} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_stream_optimized ... SKIPPED: qemu-img not installed or does not support vmdk format {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.052181s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.013713s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.028141s] ... ok ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd15df6d-cf39-4204-870d-00a5f30fb991 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"deploy_templates": [{"uuid": "af76ec0c-58de-4dd7-920b-86f736daa4dc", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/af76ec0c-58de-4dd7-920b-86f736daa4dc", "rel": "self"}, {"href": "http://localhost/deploy_templates/af76ec0c-58de-4dd7-920b-86f736daa4dc", "rel": "bookmark"}]}]} API ACL Testing Path patch /v1/deploy_templates/065f0a43-0e2e-46ce-a4c3-e296028ae99b PATCH: /v1/deploy_templates/065f0a43-0e2e-46ce-a4c3-e296028ae99b [{'op': 'replace', 'path': '/name', 'value': 'CUSTOM_MAGIC'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d81f492b-ec09-4292-8440-cbf91d10d53c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d81f492b-ec09-4292-8440-cbf91d10d53c X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff1de1bb-aa25-4f71-bd51-107d6b5ea96b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:08.718425+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff1de1bb-aa25-4f71-bd51-107d6b5ea96b X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:08.718425+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a86d1d36-4c91-4da5-b5b3-d8ee26f70831 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:08.769487+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a86d1d36-4c91-4da5-b5b3-d8ee26f70831 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-09-07T17:18:08.769487+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f5c88499-67a8-4ef7-baa1-99e2e88c406f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} ACL Test GOT Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f5c88499-67a8-4ef7-baa1-99e2e88c406f X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8a90a3a3-1688-4e75-be3f-aa3e9d359a7f GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8a90a3a3-1688-4e75-be3f-aa3e9d359a7f {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a608c01-4ecf-4cf2-baae-64e47dea6782 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8a90a3a3-1688-4e75-be3f-aa3e9d359a7f", "created_at": "2024-09-07T17:18:08.885712+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8a90a3a3-1688-4e75-be3f-aa3e9d359a7f", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a608c01-4ecf-4cf2-baae-64e47dea6782 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "8a90a3a3-1688-4e75-be3f-aa3e9d359a7f", "created_at": "2024-09-07T17:18:08.885712+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/8a90a3a3-1688-4e75-be3f-aa3e9d359a7f", "rel": "self"}]} API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/082764a5-2347-4c03-bf77-d62420bb37dc GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/082764a5-2347-4c03-bf77-d62420bb37dc {} {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00303_node_history_get_entry_member [0.054333s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.011798s] ... ok {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.013380s] ... ok {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.025034s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.017689s] ... ok {3} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.013990s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.025664s] ... ok {2} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.013512s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.028391s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.014292s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_file_like [0.018075s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.012256s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_qcow2_feature_flag_checks [0.011455s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.013642s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.019044s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.014598s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.017882s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.017113s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.031434s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.012968s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.018507s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.011166s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.018578s] ... ok {1} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.017451s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.013412s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix_underscore [0.013630s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.027553s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.023257s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.012034s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.016508s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.019883s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.025696s] ... ok {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.018571s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.011394s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.011178s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.025577s] ... ok {1} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.017545s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.011041s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.015443s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.012056s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.025222s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.013825s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.012376s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.018050s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.027324s] ... ok /bin/sh: line 1: qemu-img: command not found {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vdi ... SKIPPED: qemu-img not installed or does not support vdi format {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.013653s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.015551s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vdi_invalid [0.014106s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.012999s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.024783s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.014361s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.013192s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.014551s] ... ok /bin/sh: line 1: qemu-img: command not found "max-count" must be a positive value. {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vhd ... SKIPPED: qemu-img not installed or does not support vpc format {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.017246s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.014226s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.016957s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vhdx_invalid [0.014561s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.017940s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.014623s] ... ok {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.013516s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. /bin/sh: line 1: qemu-img: command not found {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.017133s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk ... SKIPPED: qemu-img not installed or does not support vmdk format {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.014125s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.016881s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.014040s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.015209s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.014536s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.012385s] ... ok 5+0 records in 5+0 records out 5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0196799 s, 266 MB/s {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.013799s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.016587s] ... ok /bin/sh: line 1: qemu-img: command not found {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.014895s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized [0.058190s] ... FAILED Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 413, in test_vmdk_bad_descriptor_mem_limit_stream_optimized self._test_vmdk_bad_descriptor_mem_limit(subformat='streamOptimized') File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 384, in _test_vmdk_bad_descriptor_mem_limit img = self._create_allocated_vmdk(image_size // units.Mi, File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 185, in _create_allocated_vmdk subprocess.check_output( File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib64/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command 'qemu-img convert -f raw -O vmdk -o subformat=streamOptimized -S 0 /tmp/tmpuhwha6g7/ironic-unittest-formatinspector--streamOptimized-aeg13job.raw /tmp/tmpuhwha6g7/ironic-unittest-formatinspector--streamOptimized-6qt4xr_y.vmdk' returned non-zero exit status 127. {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.017479s] ... ok {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.012186s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.016681s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.011416s] ... ok /bin/sh: line 1: qemu-img: command not found {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_offset ... SKIPPED: qemu-img not installed or does not support vmdk format {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.012029s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.013464s] ... ok {3} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_under_limit [0.013573s] ... ok {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.011871s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.013011s] ... ok {3} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.010994s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_no_esp_imageimg [0.013670s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.014208s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.015367s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.014182s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.012020s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.023210s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.013918s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.010878s] ... ok {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.155195s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.011221s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image_with_type [0.018274s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.018268s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.016220s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.010700s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.012607s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.012117s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.016547s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.013149s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.011688s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.012402s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.012177s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.015801s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.011898s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.010866s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.012101s] ... ok {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.012042s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.011755s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.011798s] ... ok {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.012985s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.011937s] ... ok {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.026151s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.013699s] ... ok {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.072015s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.015842s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.021709s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.039673s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_explicit [0.012123s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.024251s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.037571s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.032435s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.027753s] ... ok {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.019621s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.014181s] ... ok {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.032063s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.032409s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.036073s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.014739s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.011495s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.012358s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.028182s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.011593s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.042444s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.042413s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.011375s] ... ok {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.028288s] ... ok {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.011100s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files [0.012583s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.037740s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.035637s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.028651s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.013886s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.016857s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.015180s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.027845s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.013716s] ... ok {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.039554s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.022079s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.015556s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.019140s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.028103s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.011452s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.013812s] ... ok {0} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.036727s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.014460s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.024738s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.019924s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.015740s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.014658s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_fails_safety_check [0.013167s] ... ok {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.026197s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.037794s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_permitted_format [0.012085s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.015783s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.012188s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled_fails_to_convert [0.015892s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.011921s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.015915s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.011874s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.013460s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.014896s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.040365s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.011845s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.012534s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.015013s] ... ok {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.010265s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.015820s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.012783s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.015720s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.012702s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.028309s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fallback_defaults [0.031131s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.016072s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.035281s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.026440s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.026223s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.016648s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.025737s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.027856s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.016608s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.018805s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.013651s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.025694s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.017542s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.025689s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.025983s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.016511s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.026551s] ... ok {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.028980s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.026936s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.029431s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.028365s] ... ok {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorInfra.test_info_wrapper_iter_like [0.029620s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.028965s] ... ok {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.026992s] ... ok /bin/sh: line 1: qemu-img: command not found {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_bad_iso_qcow2 ... SKIPPED: qemu-img not installed or does not support qcow2 format {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.027919s] ... ok {3} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.028314s] ... ok /bin/sh: line 1: mkisofs: command not found {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_iso_udf ... SKIPPED: mkisofs not installed {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.017699s] ... ok {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.027174s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.026725s] ... ok 5+0 records in 5+0 records out 5242880 bytes (5.2 MB, 5.0 MiB) copied, 0.0203344 s, 258 MB/s {3} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.036950s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.026896s] ... ok /bin/sh: line 1: qemu-img: command not found {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit [0.063303s] ... FAILED Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 410, in test_vmdk_bad_descriptor_mem_limit self._test_vmdk_bad_descriptor_mem_limit() File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 384, in _test_vmdk_bad_descriptor_mem_limit img = self._create_allocated_vmdk(image_size // units.Mi, File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 185, in _create_allocated_vmdk subprocess.check_output( File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib64/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command 'qemu-img convert -f raw -O vmdk -o subformat=monolithicSparse -S 0 /tmp/tmpqzo2s8kg/ironic-unittest-formatinspector--monolithicSparse-v369n32v.raw /tmp/tmpqzo2s8kg/ironic-unittest-formatinspector--monolithicSparse-nlcyo89i.vmdk' returned non-zero exit status 127. {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.013157s] ... ok {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_invalid_type [0.016022s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.012517s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.026369s] ... ok {1} ironic.tests.unit.common.test_format_inspector.TestFormatInspectorsTargeted.test_vhd_table_over_limit [0.011670s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.018764s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.011173s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.014159s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.019421s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.011853s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.018695s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.019814s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.021089s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.013440s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.012861s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected_with_prefix [0.013444s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.011444s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.011484s] ... ok {2} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.011996s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.010970s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.011844s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.016802s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.018569s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.022499s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.016077s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.026286s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.016364s] ... ok {2} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.012714s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.019957s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.013481s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.017873s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.013192s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.012511s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.013755s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.011884s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.010847s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.013528s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.015213s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.028656s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.014899s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.014245s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.030146s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.014323s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.012043s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.026281s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.012760s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.011675s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.024699s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.011875s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fail_with_ExecutionError [0.012184s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.380872s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.022802s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__get_deploy_iso_files_fails_no_grub_cfg [0.014726s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.019693s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.014603s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.015960s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.014203s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.039913s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.014689s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.736930s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.023885s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.018014s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.019113s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.012863s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.014266s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.211262s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.192373s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.025336s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.028652s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.018866s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.023271s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.194506s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.018625s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.014077s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.028880s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.015071s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.032718s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.013616s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.028471s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.019218s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_iso [0.015447s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.017124s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_safety_check_disabled [0.019536s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.016440s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.027430s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.013809s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.016255s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.012698s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.014048s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.028428s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.011974s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.017998s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.028099s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.399443s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.033512s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_uefi [0.030073s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.019912s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.025609s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.018988s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.028225s] ... ok {1} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.036990s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.019095s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.035037s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.029568s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.030193s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.021899s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.019741s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.042709s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.029833s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.029921s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.012747s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.012455s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.029079s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.029423s] ... ok {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.012864s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.042993s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.012055s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.028191s] ... ok {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.029196s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.016891s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.023394s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.016362s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.024945s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.030337s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.017208s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.030156s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.017354s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.013996s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.021469s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.031357s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config_existing_dirs [0.020072s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.013317s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.013293s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.022353s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.013516s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.033957s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.036010s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.013768s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.022423s] ... ok This is bad/usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.013492s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.018350s] ... ok {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.026086s] ... ok {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.031954s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.013500s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_flags [0.012886s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.014219s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_just_fails [0.011871s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.013996s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.030169s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.029098s] ... ok {2} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_and_fails [0.012535s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.013624s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.016716s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.013208s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.032077s] ... ok {3} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.030741s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.016186s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.018934s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.019404s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.017763s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.029729s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.012889s] ... ok {1} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.040793s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.013698s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.025027s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.016098s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.012268s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.013835s] ... ok {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.011852s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.025278s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.010730s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.014630s] ... ok {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.010914s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.018434s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.010667s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.016865s] ... ok {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.011440s] ... ok {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.011977s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.024882s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.011882s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.027784s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.026217s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.017600s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.026718s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.017079s] ... ok {2} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.022494s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.018481s] ... ok {2} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_failure [0.020922s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.018016s] ... ok {2} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start_no_rpc [0.021453s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.015424s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.030209s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.030988s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.020221s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.030139s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.014305s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.033017s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.013601s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.011215s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.023124s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.013383s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.362510s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.013699s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.032482s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.014501s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.017777s] ... ok {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.011479s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.013401s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.010765s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.031649s] ... ok /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1119: UserWarning: Policy "baremetal:node:create": "role:admin and system_scope:all" failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required warnings.warn(msg) {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.014360s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.010775s] ... ok {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.011048s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.026634s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.011822s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.031631s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.018101s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.013128s] ... ok {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_recovers [0.012612s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.017538s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.415025s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.032230s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_copy [0.015980s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.025881s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.034618s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.024434s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.067764s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.037559s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.025327s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.034013s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.026863s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.018882s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.029742s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6_uefi [0.025487s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.025511s] ... ok {3} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries_alternate_error [0.012934s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.018943s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.057239s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.023270s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.019649s] ... ok {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.022169s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.017349s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.030552s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.013678s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.011797s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.028046s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.012167s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.036279s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.012949s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.020342s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.012436s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.017954s] ... ok {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.031765s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.011071s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.010985s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.016207s] ... ok {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.012629s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.016754s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.011470s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_ramdisk [0.016205s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.011596s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.049557s] ... ok {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.011507s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.017972s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.011238s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.015880s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.030823s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.011368s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.010922s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.016346s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.015515s] ... ok {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.027351s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.055635s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.029047s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.012368s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.029166s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.028991s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.029129s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.030154s] ... ok {3} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.027976s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.069332s] ... ok {3} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.013861s] ... ok {3} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.012321s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.031547s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.011103s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.011555s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs_bios [0.030575s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.010972s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.054520s] ... ok {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.011455s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent [0.012239s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.031094s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.010767s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.012430s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.030385s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.017463s] ... ok {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.011186s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.074484s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.019677s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.613373s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.023162s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.021991s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.028367s] ... ok {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.021544s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.021110s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.051362s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.021556s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.032778s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_bios [0.025654s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.026446s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.032864s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.015239s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.021029s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6_bios [0.025879s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.031858s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.016641s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.034543s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_place_common_config [0.020219s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.052058s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.035564s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.016111s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.032920s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_raises_exception_with_absolute_path [0.015462s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.037047s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.056710s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.034607s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.029520s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.060358s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.031256s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.036439s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_no_enabled_interfaces [0.049020s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.031200s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.042581s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.038865s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.081633s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.030507s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.038611s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.029632s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.050122s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.059693s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.036716s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.033155s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.034105s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.021381s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.033992s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.012740s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.017336s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.054334s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.045264s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.018636s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.012341s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.016972s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.013764s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.016246s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.033658s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.015050s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.013272s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.052379s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.012160s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.014506s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.012043s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.013400s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.038003s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.012756s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.017360s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.012042s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.017798s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.010607s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.010554s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.017745s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.054297s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.011232s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.014733s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.010792s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.098442s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.015135s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.029125s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.014932s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.029810s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.014882s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.037518s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.014547s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.030421s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.020789s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.046567s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.035866s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.067909s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.017526s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.017101s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.031641s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.018388s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.024131s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.013898s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.068609s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.024893s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.012993s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.197642s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.011215s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.019384s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.012112s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.010916s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.028544s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.011236s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.010978s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.057189s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.075798s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.012786s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.031479s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.012987s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.031804s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.016806s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.035395s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.014525s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_early [0.032660s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.071400s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.029792s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.024491s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test_do_node_clean_abort_with_step [0.029463s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.023096s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.028853s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.017992s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.033658s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.035071s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_fallback [0.019096s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_fallback_ipxe_boot_script [0.018559s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.033707s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.016467s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.045878s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.015905s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.032592s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.014887s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.032651s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.016068s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_exception_on_chmod [0.014935s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.033558s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.037300s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.016637s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.038503s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.039287s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.040644s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.038448s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.035493s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.257240s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.080988s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.039218s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.036622s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.034600s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.033443s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.083442s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.033593s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.034662s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.080135s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.024561s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.054144s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.028057s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.075959s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.025336s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.039136s] ... ok {1} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image [0.012758s] ... ok {1} ironic.tests.unit.common.test_qemu_img.ConvertImageTestCase.test_convert_image_retries [0.011577s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.018988s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.069782s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.039558s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.016432s] ... ok {2} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.026009s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.020531s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.155664s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.032359s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.021118s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.012506s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.034209s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.012260s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.011954s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.070880s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.011975s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.035527s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.072654s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.012331s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.011775s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.032487s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.013137s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.011157s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.056286s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.011368s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.070813s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.011462s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.043515s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.011308s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.010811s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.033927s] ... ok {1} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.011006s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.046152s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.063406s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.037497s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.032475s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.027527s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.047875s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.013725s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.051123s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.068153s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.018175s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.013348s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.033118s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.011711s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.011439s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.071711s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.011691s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.034239s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.061629s] ... ok {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.015117s] ... ok {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.011734s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.013385s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.012350s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.054186s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_good [0.012503s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.077085s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_warning_only [0.012595s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.071276s] ... ok {1} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.010864s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.041977s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.021792s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.023456s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.038926s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.077617s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.087918s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.039248s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.060418s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.069219s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.045298s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.058154s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.088515s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.034540s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.035117s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.071925s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.033026s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.033534s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.070237s] ... ok {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.032311s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.031271s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.082438s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.033786s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.068013s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.076342s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.026824s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.026997s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.071286s] ... ok {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.062437s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.080122s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.045910s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.071008s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.034359s] ... ok {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.071516s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.072837s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.058408s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.013945s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.035374s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.078341s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.068057s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.034448s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.056530s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.036578s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.072958s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.073701s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.068565s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.077055s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.081945s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.084924s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.055749s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.028165s] ... ok {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.059971s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.028901s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.023871s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.092033s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.067228s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.062714s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.044517s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.062413s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.072923s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.030144s] ... ok {2} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.065423s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.022565s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.062178s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.026615s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.034103s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.115003s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.073119s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.065818s] ... ok {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.078173s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.023567s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.059923s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.023875s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.272002s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.063086s] ... ok {3} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.073003s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.028883s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.058898s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.026193s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.048560s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.031840s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.066789s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.021917s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.028121s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.041366s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.024837s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.034122s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.026685s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.063004s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.357373s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.039637s] ... ok {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.030865s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.037291s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.065624s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.023796s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.036558s] ... ok {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.038625s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.030531s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.029709s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.040915s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.022779s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.064674s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.029119s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.035652s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.026938s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.035086s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.062241s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.074884s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.068129s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.033988s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.033549s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.064969s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.032993s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.070284s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.081634s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.061783s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.045965s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.070023s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.068036s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.045475s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.058946s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.033835s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.035059s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.070171s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.107815s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.061775s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.077744s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.058601s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.098854s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.077059s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.246315s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.059347s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.081279s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.073334s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.075467s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.066959s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.073385s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.026412s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.075150s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.068044s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.065857s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.075461s] ... ok {1} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.029475s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.223858s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.036257s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.024106s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.067107s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.027207s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.032471s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.021985s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.068563s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.076554s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.031641s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.063041s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.069846s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.025208s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.064998s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.073352s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.030408s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.037757s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.051981s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.075115s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.037899s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.071220s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.063380s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.070591s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.084356s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_netboot [0.073117s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.068545s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.091155s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.061185s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.066610s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.070508s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.069153s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.064250s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.066309s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.071661s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.062670s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.065978s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.057686s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.070338s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.068640s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.062323s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.062440s] ... ok {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.028346s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.072612s] ... ok {2} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.024673s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.018152s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.018028s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.079320s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.017072s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.016500s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.017211s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.069214s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.083025s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.021551s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.075540s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.028750s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.059433s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.064993s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.051749s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.073988s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.073881s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.066222s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.049637s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.019118s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.068049s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.018933s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.071928s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.030690s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.018199s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.073382s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.020649s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.024354s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.037682s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.053576s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.020150s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.025284s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.098628s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.019891s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.058309s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.067957s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.019323s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.027304s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.051614s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.071046s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.018602s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.017852s] ... ok {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.027018s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.075523s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.016683s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.029747s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.016258s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.039064s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.016853s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.022159s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.076827s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.016743s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.029041s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.026513s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.017998s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.026490s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.017415s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.028328s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.017119s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.076951s] ... ok {3} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.027242s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.066525s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.046393s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.065464s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.071031s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.072600s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.032994s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.075373s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.031605s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.065288s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.088114s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.068014s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.028624s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.062399s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.029137s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.079340s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.040265s] ... ok {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.031398s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.030466s] ... ok {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.031988s] ... ok {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.015723s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.016736s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.261360s] ... ok {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.030135s] ... ok {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.054786s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.018108s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.061846s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.032887s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.049107s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.029470s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.030304s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.029459s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.030851s] ... ok {2} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.054824s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.029102s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.022598s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.033091s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.022516s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.032390s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.067972s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.029312s] ... ok {3} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.031859s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.031320s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.033130s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.014661s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.013207s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.013403s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.051456s] ... ok {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.013368s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.024451s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.067560s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.052784s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.024123s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.372703s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.031587s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.071672s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.066954s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.067228s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.028912s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.085401s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.069248s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.026521s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.072146s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.032805s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.025911s] ... ok {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.025880s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.027821s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.067988s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.017285s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.026437s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.017522s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.077119s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.017295s] ... ok {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.015506s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.034759s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.017833s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.066013s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.018891s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.028475s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.019281s] ... ok {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.059431s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.019073s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.016926s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.068284s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.020518s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.059219s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.026761s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.024414s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.020128s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.073874s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.018757s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.021599s] ... ok {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.018428s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.018650s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.013291s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.014818s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.019972s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.068765s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.198608s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.016617s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.017391s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.016195s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.017156s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.022895s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.016030s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.018244s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.015681s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.022996s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.015315s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.070220s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.018675s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.016597s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.015740s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.020851s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast_error [0.020965s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.101642s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.016911s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.067963s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.036088s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.013535s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.014964s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.014563s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.060566s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.014463s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.055193s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.074967s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.026700s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.037341s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.027495s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.033968s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.062681s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.018878s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.027235s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.030309s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.062544s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.030519s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.075719s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.022030s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.189020s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.031643s] ... ok {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.027649s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.066137s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.031164s] ... ok {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.026893s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.033042s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.026021s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.023631s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.026758s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.077283s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.036388s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.029703s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.026731s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.039558s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.068403s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.026255s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.038068s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.025383s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.028251s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.068073s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.025644s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.066198s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.026513s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.028828s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.074313s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.033002s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.029420s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.018943s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.027621s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.042387s] ... ok {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_interface_check [0.021902s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.024657s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.018037s] ... ok {3} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_stop [0.020926s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.026035s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.012297s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.017981s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.027850s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.015403s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.058246s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.016463s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.028384s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.017543s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.035060s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.026583s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.017660s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.017466s] ... ok {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.025354s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.013311s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.017611s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.055429s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.017194s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.022750s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [0.599755s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.017999s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.021192s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.016773s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.056483s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.024282s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.017451s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.019214s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.023885s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.078730s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.018360s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.022321s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.057818s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.017845s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.025773s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call [0.016228s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.033753s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.015735s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.023946s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.071653s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.016743s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.021157s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.021667s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.022361s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.019819s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.020659s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.019780s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.021112s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.018021s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.019202s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.090998s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.022628s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.019385s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.019534s] ... ok {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.012649s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.018167s] ... ok {2} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.011866s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.030089s] ... ok {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.034479s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.067217s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.030262s] ... ok {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.020580s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.077907s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.019787s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.032412s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.036938s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.018836s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.015200s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.034030s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.017344s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.027000s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.023610s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.033157s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.072074s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.032295s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.024151s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.021538s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.027715s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.022014s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.030630s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.029460s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.019297s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.030382s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.031779s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.021070s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.026636s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_fail [0.026673s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.022985s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.027443s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_off [0.025933s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.022648s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged_for_fake_node [0.022278s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_priority_override_ok [0.025672s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.018497s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.034573s] ... ok {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.031266s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.019738s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.017084s] ... ok {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info [0.035984s] ... ok {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.031577s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.018548s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.018742s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.017835s] ... ok {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.036167s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.018291s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.014700s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.051818s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.013043s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.027501s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.022791s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.027712s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.021690s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.053618s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.025230s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.028225s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.025753s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.023866s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.030395s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.023912s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.031153s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.024956s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.082854s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.014435s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.030431s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.014920s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.018357s] ... ok {3} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.016112s] ... ok {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.020423s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.035348s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.043926s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.090360s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [0.441049s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.030264s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.013816s] ... ok {3} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.027698s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.030981s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.051495s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.021053s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.067360s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.023466s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.038601s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.021813s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.021098s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.055400s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.024507s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.032140s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.120382s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.028515s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.033476s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.027509s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.051488s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.024963s] ... ok {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.027973s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.025126s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.030902s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.030448s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.215344s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.031216s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.028609s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info [0.031242s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.016790s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.027636s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.037575s] ... ok {2} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.016904s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_disabled_in_driver_info_string [0.030875s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.027355s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.032643s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.041185s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.033228s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.031879s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.032524s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.031387s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.049405s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.031831s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.030995s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.038435s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.017163s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.030441s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.036579s] ... ok {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_via_driver_info_string [0.029499s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.028770s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.020090s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.057517s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.027006s] ... ok {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.020074s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.068619s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.026530s] ... ok {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.029983s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.028991s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.057059s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.020220s] ... ok {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.035803s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.019894s] ... ok {2} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.014011s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.036085s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.011698s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.020473s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.063066s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.039175s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.031511s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.057033s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.059576s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.084826s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.039920s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.061954s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_keep_last_error [0.034602s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.013581s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.082584s] ... ok {2} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.017169s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.035439s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.018415s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.066508s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.028790s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.018831s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.022074s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.027654s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.081839s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.018076s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.062308s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.027689s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.017872s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.016916s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.034281s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.012669s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.023175s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.063400s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.012252s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.014973s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.022071s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.011784s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.017749s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.024322s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.029370s] ... ok {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.019507s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.033476s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.031580s] ... ok {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.024760s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.034177s] ... ok {2} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.017487s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.030126s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.032139s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.029599s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.030378s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.032362s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.020456s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.238908s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.031648s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.025997s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.028560s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.019181s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.029533s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.027292s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.019956s] ... ok {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.146112s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.018969s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.029479s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.017332s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.041872s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.034002s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.020526s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.019537s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.016883s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.020163s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.017718s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.021624s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.043775s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.016131s] ... ok {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_never_run [0.019219s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.019018s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.016405s] ... ok {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.016883s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.081852s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.201298s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.022624s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.021983s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.030207s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.032377s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.022580s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.030457s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.022486s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.029055s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.022704s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.022319s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.030089s] ... ok {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.094446s] ... ok {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.025642s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.030777s] ... ok {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.023200s] ... ok {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.023521s] ... ok {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.071617s] ... ok {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.029186s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.067083s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.023754s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.026482s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.021769s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.021989s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.021098s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.068430s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.019290s] ... ok {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.018265s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.015817s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.069091s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.035304s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.029064s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.021628s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.030241s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.020447s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.021986s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.100558s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.024666s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.020551s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.029001s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.026149s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.018062s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.026345s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.030217s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.025310s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.029578s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.019307s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.027447s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.018402s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.028234s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.035225s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.034124s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.185804s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.013878s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.038551s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.013376s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.013062s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.025515s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.018692s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.198805s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.064929s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.026160s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.027606s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.017568s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.023399s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.019834s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.027166s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.022938s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.023528s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.028263s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:347: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) return query.all() {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.025453s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.022352s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.012718s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.144346s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.022802s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.016551s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.020175s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.021675s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.017931s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.019523s] ... ok {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.038797s] ... ok {1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_exclusive [0.028002s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.024231s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.023611s] ... ok {1} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_limit [0.020916s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.025747s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.021634s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.016391s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.015057s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.021255s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.025503s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.015641s] ... ok {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.019332s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.022175s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.015638s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.022647s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.015847s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.018405s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.015651s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.016621s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.021602s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.016977s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.017841s] ... ok {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.017431s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.016486s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.018190s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.015654s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.030399s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.017396s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.016474s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.019200s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.024525s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.016146s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.018221s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.024955s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.025064s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.016482s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.019639s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.019022s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.015751s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.019261s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/db/sqlalchemy/api.py:1289: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductors" and FROM element "conductor_hardware_interfaces". Apply join condition(s) between each element to resolve. return query.all() {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.024416s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.016282s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.019716s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.020816s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.018874s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.018233s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.018236s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.019067s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.017707s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.015973s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.018198s] ... ok {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.018828s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_expected_exception [0.014832s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.019150s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.016749s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch [0.016896s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.019198s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.017581s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_no_conductor_with_rpc_disabled [0.014043s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_with_rpc_disabled [0.014537s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.022271s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.018937s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.014724s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.022027s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.019751s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_rpc_disabled [0.013451s] ... ok {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.018263s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.015541s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.021545s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.011643s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.016356s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.021950s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.018929s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.019147s] ... ok {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.028326s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.018847s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.021614s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.024927s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.027459s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.022251s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.026630s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.028280s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.017789s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.027125s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.025297s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.028365s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.021597s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.028015s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.028455s] ... ok {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.019941s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.028631s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.028646s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.021285s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.028033s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.034600s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.028276s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.028162s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.027720s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.033525s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.028139s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.112128s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.028664s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.028107s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.024114s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.030185s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.028538s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.025440s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.026694s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.018570s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.026842s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.024248s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.027754s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.027129s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.021174s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.019802s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_only_enabled [0.026830s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.023071s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.029785s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.017635s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test_execute_verify_step [0.031520s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.028005s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.024614s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.027716s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.016550s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.012222s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.032334s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.012488s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.024538s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.012746s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.019020s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.013003s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.023753s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.012728s] ... ok {0} ironic.tests.unit.conductor.test_periodics.NodePeriodicTestCase.test_simple [2.045922s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.027990s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.012590s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.028402s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.012149s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.024180s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.012745s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.035328s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.022406s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.012438s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.027747s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.025135s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.022936s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.022388s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.031415s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.023733s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.021087s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.024693s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.013471s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.018970s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.021651s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.026396s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.018961s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.029388s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.033746s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.017754s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.027271s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.021470s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.021419s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.029403s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.034036s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.017524s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.021112s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.023815s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.029339s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.017484s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.021300s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.020169s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.016620s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.032664s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.020378s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.021874s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.025122s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_call_host_mismatch_with_rpc_disabled [0.016833s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.021643s] ... ok {1} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.025958s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_local_cast [0.017865s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.024774s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.022232s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.020599s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.017888s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.024870s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.020042s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.027564s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.018080s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.021643s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.017411s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.027811s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.023947s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.015314s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.025907s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.025699s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.024396s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.016883s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.020565s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.015836s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.021602s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.031319s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.017832s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.025909s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.024354s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.016646s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.027160s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.020816s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.030088s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.021475s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.032335s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.019658s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.029803s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.026929s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.020870s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.018525s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.025537s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.024108s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.028812s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.026207s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.023680s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.019187s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.025984s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.017866s] ... ok {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.025514s] ... ok {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.013391s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.019175s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.028951s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.195549s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.020622s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.018374s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.027999s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.022689s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.019913s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.032058s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.022060s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.022535s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.030413s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.016836s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.030110s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.018966s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.016666s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.029599s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.022011s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.018209s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.032807s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.030810s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.024479s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.018130s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.016550s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.034157s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.030158s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.035476s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.026372s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.031961s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.028257s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.033347s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.026412s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.033700s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.029725s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.022840s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.026143s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.027926s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.023260s] ... ok {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.039097s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.027277s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.028914s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.031141s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.026781s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.037067s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.028993s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.031013s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.029942s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.035377s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.032498s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.029963s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.025945s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.020460s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.034827s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps [0.029569s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.047764s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.032189s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeVerifyStepsTestCase.test__get_verify_steps_unsorted [0.028273s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.038989s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.025682s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.019749s] ... ok {0} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.028925s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.018661s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.013236s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.054404s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.013404s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.035025s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.028711s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.013894s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.038044s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.013607s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.022271s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.035448s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.013856s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.014053s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.033700s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.032584s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.014012s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.034316s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.013035s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.033753s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.030590s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.022928s] ... ok /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " /usr/lib/python3.9/site-packages/oslo_versionedobjects/fields.py:367: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details warnings.warn("%s is an invalid UUID. Using UUIDFields " {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.058709s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.020442s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.022240s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.032463s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.019384s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.034521s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.023765s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.019069s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.024094s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.018404s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.023086s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.026188s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.018229s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.022375s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.034508s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.020450s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.021221s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.032182s] ... ok {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.017480s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.023917s] ... ok {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.017518s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.023001s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.012002s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.027638s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.028584s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.013819s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.030904s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.030658s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.028457s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.029575s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.207484s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.031623s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.031948s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.031252s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.030749s] ... ok {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.027944s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.031190s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.019632s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.036273s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.029246s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.020355s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.019987s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.022466s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.019448s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.021239s] ... ok {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.068723s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.019220s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.022800s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.020030s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.030277s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.038913s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.027366s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.022733s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.060098s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.029935s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.018294s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.034241s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.018784s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql+psycopg2' is unavailable: Could not connect {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.031905s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.014245s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.032064s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.011976s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.020787s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.015622s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.019299s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.018768s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_exclude_current_conductor [0.042544s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.020632s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.018421s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.021100s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.034502s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.043403s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.019080s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.027179s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.034547s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.018191s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.024090s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.025817s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.028681s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.018951s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.025774s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.020320s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.022613s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.020149s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.031724s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.018907s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.020600s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.031654s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.023226s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.029916s] ... ok {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.020377s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.020292s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.034046s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.020597s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.041563s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.033090s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.020678s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.020007s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.034440s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.032319s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.023277s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.022298s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.033834s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.015433s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.022793s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.031353s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.057218s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.021820s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.030439s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.031059s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.041973s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.032857s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.027979s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.121715s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.020303s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.051613s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.037075s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.020331s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.037386s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.016956s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.023640s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.034274s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.037346s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.017916s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.022993s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.024274s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.022131s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.018654s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.035070s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.016323s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.012895s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.017698s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.011834s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.015113s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.033803s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.018983s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.021096s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.027714s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.018872s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.031003s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.018227s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.019509s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.016108s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_clean_step [0.039770s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.035343s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.018598s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.015919s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.017990s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.022409s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.019134s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.034604s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.017922s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.020105s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.017630s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.021340s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.030523s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.018365s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.033953s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.020280s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.035879s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.030326s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.018125s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.043790s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.019028s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.029760s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.036538s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.018880s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.036046s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.017745s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.033685s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_verify_step [0.041145s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.032933s] ... ok {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.022303s] ... ok {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.038260s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.018899s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.037784s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.017353s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.041093s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.018003s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.036169s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.019424s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.040498s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.019372s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.032883s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.020944s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.042616s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.017511s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.037268s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.018319s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.019490s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.037999s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.017989s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.019040s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.026631s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.017165s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.015577s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.018242s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.034043s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.018844s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.019325s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.031416s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.016611s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.029155s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.025116s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.015475s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.019433s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.021669s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.018498s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.035608s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.022068s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.036997s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.081467s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.024519s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.025253s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.200536s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.021218s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.031653s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.024304s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.217235s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.026401s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.025098s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.021444s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.019343s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.020018s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.028706s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.015386s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.029492s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.019310s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.096312s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.022441s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.027803s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.020218s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.027517s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.022722s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.021529s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.032798s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.079495s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.018123s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.018619s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.017690s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.017914s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.039842s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.018381s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.025519s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.018159s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.036551s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.025440s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.022671s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.034721s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.018060s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.018438s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.016786s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.020783s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.027359s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.019503s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.020356s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.026967s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.015473s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.020041s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.029733s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.018882s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.025278s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.017398s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.017879s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.018723s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.015778s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.032072s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.016829s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.016445s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.029795s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.017428s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.015195s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.029806s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.016597s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.196441s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.033219s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.016857s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.023377s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.020125s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.031100s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.024980s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.021526s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.019880s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.029717s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.018886s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.020071s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.019843s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.026785s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.020025s] ... ok {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.018725s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.018327s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.019420s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.035129s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.019292s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.021799s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.022389s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.034011s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.018506s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.019590s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.019033s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.041284s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.012601s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.029040s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.040521s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.029172s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.031449s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.110361s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.028608s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.023197s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.033770s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.018588s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.033816s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.018187s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.037987s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.018029s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.035988s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.024056s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.034476s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.018017s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.030895s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.039682s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.024507s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.029387s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.017227s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.018590s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.017286s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.039188s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.017286s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.017935s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.030721s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.022356s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.040987s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.022986s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.029602s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.026844s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.018371s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.027031s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.026422s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.017428s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.028175s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.029533s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.023836s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.028037s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.031545s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.032854s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_different_inventory_time [0.034947s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.019441s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.021853s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.017555s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time_timeout [0.034788s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.027546s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.036029s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.035663s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.023931s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.027458s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.019404s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.021468s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.038953s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.023481s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.029040s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.016037s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.030173s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.028168s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.026052s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.029814s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.018969s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.021235s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.030616s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.036285s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.026676s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.029148s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.021938s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.030767s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.019781s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.022488s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.029587s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.017777s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.026066s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.020514s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.031776s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.022470s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.018648s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.027872s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.016321s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.018360s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.020113s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.058099s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.016749s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.027771s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.017680s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.016907s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.017818s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.016921s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.017891s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.017574s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.025688s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.016796s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.017696s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.017354s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.018321s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.028682s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.018241s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.020092s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.018143s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.032071s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.021533s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.018130s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.017806s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.021953s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.030905s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.011262s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.011502s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.026303s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.027767s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.011104s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.017514s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.010925s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.018816s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.017901s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.018046s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.017895s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.018876s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.049821s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.018222s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.018522s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.016748s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.019219s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.018611s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.019096s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.049666s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.016652s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.011960s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.018870s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.016368s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.022043s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.018358s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.034189s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.018509s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.023550s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.017372s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.016966s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.017342s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.022878s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.017321s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.016118s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.016251s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.031708s] ... ok {0} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.011160s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.032493s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.011005s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.028038s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.021017s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.027974s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.011172s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.030227s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.018354s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.030388s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.031534s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.026636s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.034022s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.023434s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.026946s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.018293s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.035927s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.018011s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.032798s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.020734s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.019009s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.026847s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.018122s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.033011s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.029020s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue_missing_attr_verify_step [0.035407s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.034286s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.028244s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.035059s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.028087s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.025074s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.028766s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.024514s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.035092s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.596038s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.023188s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.027980s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.016812s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.038415s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.028645s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.015899s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.052133s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.023263s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.027668s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.026374s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.022620s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.031416s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.018050s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.018724s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.027702s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.016010s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.024307s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.015897s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.025855s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.030227s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.023220s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.027466s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.029928s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.028610s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.025571s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.026647s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.021398s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.029093s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.030138s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.023605s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.022642s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.020702s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.026228s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.021033s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.030052s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.020958s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.022334s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.020693s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.022561s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.035838s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.031274s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.042993s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.032926s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.196964s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.027823s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.044247s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.033573s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.027364s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.033841s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.027827s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.054845s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.024214s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.028655s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.016467s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.029260s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.016838s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.056356s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.023801s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.029497s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.020194s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.024030s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.019836s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.034056s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.017391s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.024099s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.018877s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_BIOS_boot_mode [0.026292s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.042557s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.029884s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_with_UEFI_boot_mode [0.024891s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.016304s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.023164s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.041029s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.017481s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.029997s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.032058s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.018239s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.017060s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.022770s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.031625s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.017096s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.021889s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.016894s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.029243s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.025264s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.028951s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.032301s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.026150s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.029443s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.022526s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.020747s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.029711s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.026282s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.188308s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.031353s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.021157s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.024096s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.032915s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.016877s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.027962s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.016869s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.027014s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.017100s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.022944s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.032761s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.022682s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.030475s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.030667s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.021910s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.018074s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.029517s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.031693s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac_missing_attr_clean_step [0.036460s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.029526s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.032434s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.022415s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.028008s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.063291s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.034771s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.022319s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.023372s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.016512s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.023515s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.030934s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.029283s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.038261s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.032859s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.027197s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.038954s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.027947s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.025598s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.025327s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.207034s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.040556s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.038072s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.039296s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.029401s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.028362s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.026917s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.031939s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.034167s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.061454s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.037344s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.024326s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.032810s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.028250s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.027267s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.045030s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.018425s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.028313s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.033594s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.019956s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.019646s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.018504s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.018615s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.032503s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.018756s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.035529s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.019585s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.022160s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.038686s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.027422s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.020324s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.036228s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.019160s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.035160s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.027256s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.026579s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.042644s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.026932s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.450666s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.018143s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.041798s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.018319s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.045991s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.026964s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.042885s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.030090s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.026405s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.023060s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.035107s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.027101s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.021577s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.038427s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.027247s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.021571s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.024611s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.027029s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.036982s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.023144s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.030353s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.029648s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.043577s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.020543s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.022396s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.021042s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.028518s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.019756s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.031572s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.027245s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.019080s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.019421s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.018801s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.027425s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.023738s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.029314s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.023557s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.040556s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.016895s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.022474s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.016883s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.042031s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.016441s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.028752s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.016573s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.026905s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.017105s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.039986s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.016643s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.027231s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.016362s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.042364s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.018109s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.025013s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.016262s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.028743s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.043558s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.027447s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.012780s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.033933s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.012024s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.037815s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.032450s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.020632s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.031334s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.020103s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.021435s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.030946s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.012415s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.021680s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.018056s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.011314s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.011092s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.019125s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.017382s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.011281s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.016677s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.026996s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.017578s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.032273s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.029387s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.023182s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.032147s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.031791s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.031824s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.032311s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.032323s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.030352s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.032968s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.027663s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.029729s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.034931s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.035158s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.031650s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.022250s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.026028s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.017687s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.031451s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.018614s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.037049s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.032446s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.024737s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.017513s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.031846s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.016618s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.026718s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.026158s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.025836s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.034484s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.023829s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.025098s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.024014s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.017091s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.032145s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.019579s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.031887s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.020254s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.020369s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.025673s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.028615s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.035708s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.025204s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.024288s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.030652s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.030813s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.028049s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.028788s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.027916s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.028222s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.037901s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.033007s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.029548s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.058818s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.030739s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.032521s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.039165s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.041721s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.035419s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.038858s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.023347s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.034044s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.032028s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.030160s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.028123s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.031242s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.029337s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.030457s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.026782s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.028064s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.029399s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.031061s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.039928s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.030245s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.030977s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.029067s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.017303s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.017258s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.029117s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.028207s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.028376s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.028223s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.032521s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.030944s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.027989s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.018848s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.018676s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.017388s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.027997s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.029616s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.026714s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.019967s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.019188s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.017418s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.016875s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.016001s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.015920s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.017661s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.017166s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.016573s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.017033s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.016480s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.028649s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.195687s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.022588s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.020271s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.012065s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.010875s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.010903s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.053023s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.033315s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.018994s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.017782s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.016775s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.032713s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.035495s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.031601s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.027262s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.032234s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.028786s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.023301s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.022109s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.034426s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.034538s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.029991s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.028719s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.029204s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.030501s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.028950s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.026753s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.027120s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.028933s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.028658s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.034655s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.043414s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.033225s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.032191s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.030023s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.028819s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.031262s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.034274s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.031019s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.029838s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.027857s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.020640s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.026518s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.042753s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.030993s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.031709s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.039021s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.028007s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.029509s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.031683s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.033965s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.034246s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.201191s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.032070s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.031872s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.023718s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.017616s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.017220s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.016758s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.034009s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.028120s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.032849s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.028475s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.030860s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.029960s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.030701s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.026175s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.027008s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.035144s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.030558s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.028883s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.023564s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.037368s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.034322s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.037929s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.039933s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.029999s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.031340s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.033942s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.028719s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.033948s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.029778s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.033274s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.032361s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.030883s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.018117s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.028366s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.023989s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.019928s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.028520s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.029031s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.029625s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.028347s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.024075s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.019940s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.027490s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.030523s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.032670s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.066056s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.032023s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.027921s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.049025s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.027563s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.033098s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.030747s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.033494s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.031685s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.034278s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.017836s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.066445s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.018116s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.032536s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.018569s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.017628s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.031994s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.057839s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.018191s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.018179s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.037327s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.034005s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.013354s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_file_if_no_upload [0.022686s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.027595s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.034878s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.023207s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.026439s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.027358s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.021400s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.026506s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.025471s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.022030s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.024502s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.011818s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.033875s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.016349s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.034952s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.036334s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.033181s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.053496s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.028798s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.027390s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.032202s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.034092s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.019453s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.034761s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.038027s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.018131s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.030100s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.017628s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.037723s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.017255s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.030528s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.030276s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.034169s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.030063s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.031615s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.031442s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.029464s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.038369s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.028724s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.026829s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.030022s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.027399s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.031394s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.026227s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.030921s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.038165s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.029567s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.026478s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.030035s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.027443s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.018042s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.030133s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.024011s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.207509s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.032637s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.018757s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.017422s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.030132s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_bios [0.034656s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.017612s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.031079s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.028166s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.041572s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.017749s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.036291s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.017141s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.016355s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.043988s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.029309s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.016916s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.025585s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.028968s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.038781s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.030116s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.024763s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.038064s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.030149s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.027994s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.028997s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.031249s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.025539s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.021396s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.030824s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart_bios [0.045447s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.033875s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.040703s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.044451s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.048075s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.049101s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.025639s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.025132s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.026060s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.023915s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.027093s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.029095s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.029260s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.031171s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.046279s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.030092s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.043288s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.030005s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.043115s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.064286s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.055960s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.050301s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.042115s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.049249s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.037599s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.064296s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.038787s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.033221s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.221966s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.034156s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_http [0.024528s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.026997s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_https [0.024339s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.032761s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.039698s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_https [0.025148s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.028687s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.016926s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.016969s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.033012s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.048628s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.016044s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.017210s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.031995s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.031867s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.017045s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.016439s] ... ok {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.025983s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.033621s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.015777s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.016007s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.031791s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.035540s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.016666s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.027899s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.031251s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_not_support_auth [0.022573s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security_ [0.016755s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.029465s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.028062s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.027996s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.026280s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.019678s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.020397s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.022668s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.026368s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.034139s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.026618s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.036113s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.027075s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.035025s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.028327s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.217832s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.027309s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.024995s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.019824s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.035625s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.028696s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.024870s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.025296s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.032725s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.025983s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.028235s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.028433s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.035909s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.032802s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.037473s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.024781s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.035563s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_uefi [0.040818s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.025711s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.028616s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.025305s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.024085s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_bios [0.043537s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.016583s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.026703s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.016470s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.017175s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.044219s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.033221s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.016460s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.025476s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.023435s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.046778s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.027286s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.024869s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.026163s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.025009s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.042640s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.026012s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.025483s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.026063s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.018059s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.023875s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.017940s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.031814s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.017953s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.026489s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.017405s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.045184s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.027129s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.026177s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.027939s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.017249s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.046452s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.025911s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.028734s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.029014s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.023912s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.044964s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.018315s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.032603s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.029741s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.017407s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.030433s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.027468s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.029393s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.030058s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.031088s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.036273s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.018772s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.029855s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.032511s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.026376s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.031300s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.043014s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.030893s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.029586s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_lenovo [0.031811s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.046797s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.030690s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.032948s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.034419s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.047752s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.048761s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.044192s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.045659s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.047747s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.012217s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.041533s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_https [0.026449s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.043272s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.019126s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.028744s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.018164s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.041165s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.017862s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.029028s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.018974s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue_bios [0.043201s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.018274s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.029185s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.016536s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.030912s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.017432s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.047852s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.018178s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.028123s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.031270s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.018262s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.028251s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.025180s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.025212s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.018092s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.033731s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.031335s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.026063s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.031241s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.033309s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.032984s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.032080s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.032065s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.031818s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.036233s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.030483s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.042560s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.029437s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.041780s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.030448s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.028173s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.037281s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.031485s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/drivers/modules/irmc/inspect.py:287: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited new_port.create() RuntimeWarning: Enable tracemalloc to get the object allocation traceback {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.298469s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.040688s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.044528s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.042686s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.063222s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.032082s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_https [0.026139s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.026592s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.027830s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_http [0.024193s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.031681s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.030133s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.026685s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.026425s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.029210s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.030767s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_ignoring_snmp_security [0.022461s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.028827s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.036062s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.016804s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.016672s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.031365s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.016456s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.016794s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.062630s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.026517s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.016613s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.017199s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.044575s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.016755s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.062187s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.017228s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.031059s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_support_auth [0.017173s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.017149s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.033088s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.025274s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.062880s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.033590s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.025045s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.028350s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.025658s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.037900s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.030860s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.024913s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.029240s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.033758s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.023873s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.034659s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.031273s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.028493s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.022145s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.031180s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.029780s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.026372s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.028471s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.033940s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.027807s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.029756s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.044817s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.027668s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.031648s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.031249s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.029909s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.029126s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.028758s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.029916s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.031694s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.023894s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.067347s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.035114s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.023603s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.016979s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.041052s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.038890s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.024495s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.024340s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.028713s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.024614s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.026365s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.028174s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.024702s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.019050s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.022798s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.031629s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.024550s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.029074s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.033803s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.050030s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.027809s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.027247s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.035416s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.025827s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.042204s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.023298s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.035550s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.032889s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.023245s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.017366s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.034371s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.026551s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.024397s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.030178s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.040094s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.023828s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.024346s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.042709s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.050637s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.024696s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.045199s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.034146s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.042349s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.042809s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.042553s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.044890s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.041931s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.046698s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.038717s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.029325s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.029771s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.028610s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.029860s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.203617s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.028368s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.030543s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.034822s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.026999s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.029104s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.026956s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.040283s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.031486s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.031041s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.023006s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.026460s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.018635s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.028474s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.028041s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.027472s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.022612s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.028579s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.021542s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.026605s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.022927s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.027660s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.042615s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.019671s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.028931s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.022167s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.017468s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.046034s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.026365s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.022224s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.030587s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.023667s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.045722s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.030467s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.047495s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.045476s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.030047s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.033249s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.027591s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.030440s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.031355s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.034308s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.042454s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.025306s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.023987s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.024061s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.023050s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.030605s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_swift_fails [0.018969s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.027623s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_get_swift_temp_url [0.015869s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_local_external [0.015488s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.027433s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.012046s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.027026s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.023004s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.030434s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.032367s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.206534s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.031979s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.033566s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.032409s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.028909s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.023297s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.030858s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.029090s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.032762s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.022162s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.028693s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.030876s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.021303s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.022855s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.026265s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.028115s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.022176s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.030617s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_https [0.019329s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.037475s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.023111s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.033469s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.031136s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.023678s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.026745s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.030595s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.025689s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.029597s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.027317s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.024096s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.018513s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.022266s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.024674s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.027274s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.025505s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.025468s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.028951s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.024713s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.024860s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.047420s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.026948s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.025171s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.024510s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.026258s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.027404s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.055150s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage [0.032074s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.037388s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.052754s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.024728s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.039671s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.049431s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.050729s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.037450s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.031514s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.027071s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.024554s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.043587s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.043124s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.024731s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.045575s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.023412s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.022939s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.026845s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.023124s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.021589s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.231123s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.031344s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.039971s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.037204s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.025981s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.039006s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.036960s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.023517s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.032006s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup_notstaged [0.013978s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http [0.015795s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.011638s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.051469s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.038792s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.011945s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.030279s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.032043s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.049213s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.021867s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.039784s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.027110s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.028996s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.017632s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.029632s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.022773s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.030493s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.028248s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.029946s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.032041s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.023486s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.028867s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.023446s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.030271s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.022671s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.028522s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.022890s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.022018s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.215691s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.022520s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.022249s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_ramdisk [0.022312s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.039246s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.022171s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.022876s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.049211s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_password [0.044604s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.025372s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.028601s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.040663s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.060926s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.038583s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.038298s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.018137s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.052553s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.034002s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.017208s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.021849s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.042921s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.017153s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.050580s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.015831s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.025320s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.016802s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.040846s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.017707s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_file [0.020252s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.034179s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.024152s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_swift [0.027541s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile_fails [0.015543s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_stage_both [0.036039s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.028576s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.014575s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.014032s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.027560s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.030972s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum [0.013410s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_verify_checksum_mismatch [0.011921s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.026888s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.034389s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.026576s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.036778s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.027893s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.050951s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.022949s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.032854s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.034542s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.032403s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.033990s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.033465s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.030676s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.031406s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.038205s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.034627s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.050060s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.037585s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.033913s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.033899s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.041410s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.030688s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.035375s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.038576s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.029515s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.028038s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.024891s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.039402s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.029409s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.018635s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.028298s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.017441s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.027432s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_swift [0.020374s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.016453s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.026215s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.016149s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.024865s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.023536s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.024551s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.029422s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.024137s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.026671s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.028978s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.025899s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.024841s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.027642s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.030303s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.024054s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.031809s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.026477s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.030088s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.051162s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.046042s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.029709s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.204718s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.055205s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.028426s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.029051s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.032836s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.030739s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.035144s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_no_change [0.024830s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.023322s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.039535s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.037601s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.022752s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.039400s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.048114s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.027950s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.029719s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.034431s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.043664s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.037841s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.038163s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.044804s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.023864s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.033988s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.022009s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.027531s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.029824s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.031871s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.042130s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.026243s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.030814s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.029084s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.029829s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.023119s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.025704s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.030373s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.028824s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.037382s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.030460s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.031441s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.018137s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.031374s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.026647s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.034666s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.026368s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.049510s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.026706s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.018615s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.221558s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.034586s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.016472s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.028235s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.031120s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.030861s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.025133s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.033046s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.041176s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.029803s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.026389s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.036259s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.025269s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.025972s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.030096s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.030457s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.034254s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.031015s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.027008s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_bios [0.037329s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.025750s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.043291s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.016519s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.016909s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.050613s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.043985s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.028723s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.031888s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.027074s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.043202s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.032038s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.026373s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.039738s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.029505s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.048668s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.020650s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.027785s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.018668s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.035382s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.018535s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.017550s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.045748s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_automated_clean_version_mismatch [0.036604s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.018456s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.025471s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.023552s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_reboot [0.034556s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception_uefi [0.034472s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.027325s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_manual_cleaning [0.035885s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.026010s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.033385s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.026136s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.017523s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.031454s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.052256s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.030096s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.044597s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.061648s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.035925s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.031324s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.030221s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.029049s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.037435s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.028826s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.029748s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.036972s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.026630s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.027425s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.033022s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.025772s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning [0.034367s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.026185s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.039376s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_after_reboot [0.035197s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.030136s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.012440s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.034740s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.016156s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_clean_version_mismatch_fail [0.034012s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.011647s] ... ok {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.031667s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.012620s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_fail [0.028307s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.011631s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.026442s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.010818s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.011458s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_no_step_running [0.032808s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.011406s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.027453s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.011754s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.013459s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.025969s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_unknown [0.039078s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.015794s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.016392s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.030937s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook [0.035965s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.012478s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.027702s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.029319s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_with_hook_fails [0.032875s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.028882s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.030141s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.032768s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.016566s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.033790s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.015932s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.030666s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.027751s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.016533s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.032195s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.047506s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.037942s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.031454s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.031732s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.039085s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.015096s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.014307s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.037963s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.026995s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.022543s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.031071s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.022297s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.037888s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.021513s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.029571s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.031749s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.022247s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.029379s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.020056s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.034841s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.026523s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.018387s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.031641s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.028495s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.034842s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.012942s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.012452s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.047297s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.013068s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.013501s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.011902s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_image_type [0.029659s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.012041s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.012448s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.025703s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.013000s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.012109s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.025287s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.011871s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.014860s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.030180s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.018744s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.031872s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.035182s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.026075s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.216838s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.029745s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.025296s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.017300s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.017382s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.011234s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.032761s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.012135s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.017126s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_secure_boot [0.011137s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.016229s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.028873s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.016411s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.025839s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.029675s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.027060s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.035870s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.029317s] ... ok {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.024965s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.019560s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.014712s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.038190s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.021184s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.015893s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.016697s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.028879s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.021882s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.019875s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.022041s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.031449s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.018004s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.016648s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.029834s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.013842s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.015559s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property_bios_default [0.013289s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.013557s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.028672s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.013414s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.019087s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.016241s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.027481s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.016186s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.024166s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.025831s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.016376s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.020091s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.017431s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.025835s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.021092s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.016935s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.014884s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.034200s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.029048s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.025692s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.018640s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.013872s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.072101s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.031460s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.013310s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.013842s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_uefi [0.013376s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.011070s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.010872s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.030625s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.016953s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.011278s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.017042s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.011494s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.030644s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.011338s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.014667s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.010953s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.014276s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.027881s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.016798s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.028629s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.014012s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_old_command [0.031468s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.016240s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.029843s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.016073s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_running [0.027951s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.016312s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.033901s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.016031s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.030980s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.016204s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_remote_image_via_http_verified [0.033265s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.016324s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.017416s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.032466s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.030111s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.033343s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.035370s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.016990s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.016128s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.027843s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.016054s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.027440s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.016206s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.021255s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_local_boot [0.019501s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.204702s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.018221s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.017824s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track_via_driver_info [0.046049s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_deep_inspection_disabled [0.017327s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_not_safe_image [0.016415s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.033720s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_kernel [0.018403s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.015117s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.031742s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.015368s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.012642s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.026178s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.013231s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.012486s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.025489s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.018225s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.018168s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.027786s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.249982s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.024351s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.012193s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.027214s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.010942s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.012738s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_schema [0.023428s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.011532s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.012186s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.010834s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.011995s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.011223s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.026221s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.011963s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.011789s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.011304s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.011381s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info_bios [0.025817s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.011155s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.011217s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.011613s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.011552s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_bios [0.025746s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.011697s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.039560s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.011667s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_uefi [0.025088s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.017323s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.025381s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_no_fast_track [0.016552s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image_checked [0.039107s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.011398s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.026111s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.012665s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_checked [0.034067s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.023848s] ... ok {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.024998s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.015763s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.025004s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.042252s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.023566s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.037784s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.027939s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.020056s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.042775s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.022294s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.017995s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.030849s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.017753s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.037959s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.034020s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.017201s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.017691s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track_via_driver_info [0.034298s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.017580s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.020253s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.017873s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.012647s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.012127s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.016510s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.012204s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.016691s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.012038s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.012257s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.018493s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.012372s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.016779s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.011971s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.016589s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.012082s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.012379s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.018805s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.018105s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.029569s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.018397s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.025548s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.017639s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.013546s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.011690s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.029599s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.010588s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.013666s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.027798s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.017222s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.015394s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.029762s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.015676s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_bios [0.026631s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.013801s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.013695s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.026491s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.011701s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.012058s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.012860s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.028377s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.017117s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.027699s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.016216s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.022939s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.029790s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.023009s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.029286s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.023200s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.028757s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.022989s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.029393s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.023480s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.023396s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.029107s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.047586s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.058016s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.018112s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.026667s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.821360s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.027528s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.027943s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.031422s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.027566s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.024840s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.026337s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.018542s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.019028s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.016800s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.019372s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.021109s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.016245s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.021224s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.023008s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.021324s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.024949s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.018726s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.018438s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.023367s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.018578s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.021924s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.018290s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.024073s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.017751s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.014424s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.018686s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.019686s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.030198s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_bios [0.014641s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.019141s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback_bios [0.013598s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.020000s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.013654s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.013957s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__exec_stop_console [0.025822s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.014074s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.013520s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.026448s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property_bios [0.014178s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.022019s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.027335s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.021803s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.014859s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.014715s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.027164s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.017218s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.363119s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_netboot [0.017900s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.028250s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.017936s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.029089s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.018210s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.017083s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.026928s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.019706s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.023365s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.017008s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.011906s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.029522s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set_bios_mode [0.012024s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.011487s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.011193s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.031080s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.011688s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.011514s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.011650s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.037165s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.011828s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.039591s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda [0.039173s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.043671s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_anaconda_img_checked [0.040666s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.038458s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.039055s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.035000s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_part_img_checked [0.031666s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.033444s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.046060s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.033781s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.043589s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.032897s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.026120s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.044588s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.028906s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.034784s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.019637s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_connection_problem [0.555733s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.014077s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.018232s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.011975s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.017300s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.012215s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.012001s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.017854s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.011773s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image_netboot [0.018066s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.012051s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.011736s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.017099s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.017293s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.026274s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.017043s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.016225s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.027406s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.219560s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.012814s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.016866s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.013284s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.016131s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.012800s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.045082s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.016340s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.012248s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.012417s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.026029s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.025211s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.014178s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.012209s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.024772s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.025833s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.013162s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.025048s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok_bios [0.031838s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.035159s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.027359s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok_bios [0.026217s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.036440s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.024469s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.027283s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.027298s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.029426s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.027113s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.017218s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.030620s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.016527s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1_uefi [0.025936s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.021496s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.027504s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.017567s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.053087s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.027071s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.020689s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.026383s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.027851s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.033776s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_from_swift [0.023706s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.026287s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.030532s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.020537s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.026083s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.023791s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.022255s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.027235s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_lenovo [0.032294s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.022766s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.027243s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_cleaning [0.025282s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.034716s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.027118s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.022354s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.023388s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.045845s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.043069s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.022040s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.022576s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.023354s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.043923s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.025960s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.017605s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.018872s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.050644s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.058437s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.018585s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.026748s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.030279s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.021104s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.021410s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.025064s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.018872s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.018609s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.026890s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.030449s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.018944s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off_on_fast_track [0.022193s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.018809s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.016387s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.031399s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.019023s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.024535s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.018763s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.035917s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.017900s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.026706s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.033079s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.017614s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.025835s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.017316s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.019938s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.017351s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.027790s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.023837s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.018341s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.021007s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.013554s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.027870s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.012437s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.018713s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.012511s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.075151s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.012151s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.017785s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.012075s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.017780s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.012448s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.028923s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.012037s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.027422s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.012587s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.027558s] ... ok {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.055517s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.019696s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.021157s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.019519s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.019534s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.042429s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.019625s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.024067s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.043648s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.021430s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.021203s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.042235s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.021098s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.215229s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.024892s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.041786s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.016523s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.026978s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.028484s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.017210s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.021858s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.027601s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.015249s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.015383s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.021054s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.027374s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.014883s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.027957s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.015424s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.028216s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.014916s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.016730s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.032641s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.026784s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.016084s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.028306s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.018074s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.036417s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.014356s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.028064s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.014708s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.032496s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.014040s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent_bios [0.029504s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.013765s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.015171s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk_with_kernel_arg [0.038729s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_uefi [0.026806s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.014519s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.014626s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.027460s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.042412s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.015585s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.015749s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.028650s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.015976s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.019041s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.041884s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.015519s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.018043s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.014497s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.020192s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.015779s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.043621s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.015455s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.020756s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.018828s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.019887s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.016035s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.047535s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.020508s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.027165s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.019561s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.043193s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.018470s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.026923s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.019674s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.027715s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.018445s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.019439s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.027236s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.018300s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.026770s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.018000s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.013699s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.019794s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.014323s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.013433s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.020025s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.013819s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.019474s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.013705s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.014695s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.029658s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.014573s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.014085s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.021416s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.217335s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.014488s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.021648s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.013961s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.026079s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.013872s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.028123s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.016873s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.025287s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.028323s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.022826s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.025139s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.016232s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.027051s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.032017s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.011061s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.025152s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.027730s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.029225s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.026570s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.028462s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.030052s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.025861s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.027426s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.011174s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.027855s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.011080s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.015433s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.029322s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.027054s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.010665s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.012430s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.028889s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.028735s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.034924s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.030837s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.027621s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.028572s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.025661s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.043245s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.026406s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_bios [0.035664s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.024257s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.035767s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.024768s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi_bios [0.042308s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.036384s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.023721s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk_bios [0.042293s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.024225s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_bios [0.041686s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.017639s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.024980s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.050996s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.041971s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.025111s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.024443s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.041599s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.046901s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.024973s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.027007s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.046800s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.025679s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.028241s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.025933s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.027720s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.032485s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.013870s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.024575s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.014527s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.026908s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.025668s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.012708s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.027979s] ... ok {2} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.012862s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.016291s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.028042s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.025621s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.027700s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.041509s] ... ok {0} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.024965s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.028732s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.029115s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.014843s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.024516s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.012884s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.012606s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.031803s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.012369s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.028360s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.013358s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.032524s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.012629s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.025382s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.018771s] ... ok {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.028392s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.035231s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.019097s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_bios [0.035939s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.040393s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.037329s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.046982s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.041486s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.042787s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.041544s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.051372s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.037465s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.027020s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.215135s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.028095s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.039399s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.016541s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.014129s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.027188s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.014137s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.038872s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.014634s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.027303s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.014123s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.013461s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.038696s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.030244s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.013345s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.020444s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.030522s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.038259s] ... ok {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.023673s] ... ok {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.029574s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.011356s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.011114s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.037093s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.010867s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.015555s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.011298s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.042244s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.014189s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.011535s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.010545s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.014898s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.017917s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.014465s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.014294s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.016499s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.013864s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.014679s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.018902s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.013986s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.014332s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.014685s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.012491s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.013949s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.014076s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.012421s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.013537s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.012357s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.015271s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.013713s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.012473s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.013867s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.013664s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.012330s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.013740s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.013984s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.012433s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.014344s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.014894s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.012911s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.014544s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.015377s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.012713s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.013658s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.012719s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.017703s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.012752s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.013964s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.015471s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.012937s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.013755s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.019374s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.012599s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.014266s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.012918s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.015827s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.014275s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.012691s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.016440s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.012873s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.025784s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.015810s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.012858s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.014873s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.012752s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.025721s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.015599s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.012876s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.013282s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.016081s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.026662s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.012700s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.015271s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.013580s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.026671s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.016274s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.013754s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.013298s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.015949s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.012631s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.023704s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.015365s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.012502s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.014819s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.014849s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.012522s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.012948s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.012740s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.016362s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.012592s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.012589s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.014555s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.012670s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.012682s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.013904s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.013455s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.026565s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.013100s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.016441s] ... ok {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.012860s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.027857s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.015898s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.014994s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.010468s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.016428s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.025726s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.010316s] ... ok {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.010593s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.024633s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.010921s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.026379s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.010401s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.025695s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.010280s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.025969s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.010372s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.010283s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.025854s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.010348s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.025977s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.017314s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.010544s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.010745s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.027439s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.010477s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.025829s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.010455s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.013932s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.010725s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.013389s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.025364s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.010968s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.013754s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.012075s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.011125s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.011257s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.014263s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.011412s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.010744s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.010480s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.013434s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.011560s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.011287s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.013152s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.010787s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.011793s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.013148s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.013099s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.015755s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.013240s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.010970s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.012384s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.013120s] ... ok {1} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.011273s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.012472s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.011449s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.016747s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.013012s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.011652s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.012997s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.016600s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.012517s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.028005s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.012303s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.025814s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.012150s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.012400s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.027820s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.025813s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.012868s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.013127s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.026053s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.028482s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.013897s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.013304s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.028963s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.029282s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.014097s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.014696s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.023593s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.027887s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.013204s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.023342s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.013107s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.028957s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.014064s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.013697s] ... ok {0} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.011859s] ... ok {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.027477s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.024385s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.012950s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.011640s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.023921s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.011351s] ... ok GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which enables the provision and management of baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} foo() migrated 15 of 15 objects. func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. func1() migrated 10 of 15 objects. Malformed option m1key1=value1 {'links': [{'id': 'port1', 'type': 'vif', 'ethernet_mac_address': '52:54:00:4f:ef:b7', 'vif_id': '96d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb8', 'mtu': 1500}], 'networks': [{'id': '906e685a-b964-4d58-9939-9cf3af197c67', 'network_id': 'a87cc70a-3e15-4acf-8205-9b711a3531b7', 'type': 'ipv6', 'link': 'port1', 'ip_address': 'fd00:203:0:113::2', 'netmask': 'ffff:ffff:ffff:ffff::', 'routes': [{'network': '::0', 'netmask': '::0', 'gateway': 'fd00:203:0:113::1'}]}]} {'deployment_ari_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk', 'pxe_append_params': 'test_param ipa-global-request-id=req-6d65b3fb-0720-4ca0-b8eb-0530856d3593', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '192.168.240.234', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} {'deploy_kernel': ('deploy_kernel', '/tmp/tmpaq828jgs/tmpwhjof11_/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpaq828jgs/tmpwhjof11_/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} returning final set {10: [1], 11: [4], 12: [7]} returning final set {10: []} returning final set {} {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.012320s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.023851s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.012731s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.011513s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.024340s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.011478s] ... ok {2} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.012722s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.028256s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.011350s] ... ok {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.010987s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.028431s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.013348s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.011894s] ... ok {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.025271s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.012457s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.013458s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.026550s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.016759s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.015755s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.015564s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.013885s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.014152s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.012772s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.013888s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.013977s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.014014s] ... ok {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.182326s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.013599s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.012739s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.013168s] ... ok {2} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.012677s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.013930s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.012618s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.013977s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.011664s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.013998s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.012383s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.014200s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.011987s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.014470s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.013630s] ... ok {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.029673s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.014523s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.013566s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.026063s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.013387s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.025627s] ... ok {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.017492s] ... ok {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.021113s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.025772s] ... ok {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.011643s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.010589s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.025725s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.010858s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.013210s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.024288s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.012973s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.012888s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.024213s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.012913s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.012857s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.024650s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.012921s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.012785s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.024325s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.012558s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.024291s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.025032s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.025949s] ... ok {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.026566s] ... ok {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.028156s] ... ok {2} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.025282s] ... ok {2} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.017063s] ... ok {2} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.024848s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.188202s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.013396s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.014049s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.012792s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.012821s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.013204s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.016730s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.013154s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.017156s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.012748s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.012795s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.026464s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.014336s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.013580s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.031731s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.013056s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.013450s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.029845s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.013665s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.014040s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.013480s] ... ok {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.029758s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.013542s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.014855s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.013845s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.014633s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.014536s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.014306s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.013435s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.019527s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.014024s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.015121s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.013755s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.014508s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.013965s] ... ok {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.014469s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.014590s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.016126s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.014878s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.011126s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.010690s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.021086s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.010602s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.010201s] ... ok {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.022584s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.010493s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.010687s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.015962s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.010979s] ... ok {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.013570s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.010924s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.014513s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.011245s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.010481s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.014925s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.010634s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.014621s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.010602s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.010691s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.010506s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.024151s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.010933s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.011184s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.022412s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.010519s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.020467s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.011798s] ... ok {2} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.012257s] ... ok {2} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.011790s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.011827s] ... ok {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.039401s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.014183s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.014340s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.014226s] ... ok {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.039762s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.013997s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.013819s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.014225s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.013364s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.012542s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.014009s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.012474s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.014135s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.012558s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.014465s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.012444s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.014740s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.013335s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.014296s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.013577s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.014322s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.013777s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.013898s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.013566s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.014091s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.014773s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.015582s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.014105s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.014525s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.012941s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.014228s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.012733s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.014101s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.013225s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.013279s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.014022s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.013390s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.014238s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.013397s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.014483s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.013242s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.014129s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.013584s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.013693s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.013497s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.014175s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.012573s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.014714s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.013338s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.014703s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.014883s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.014947s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface_overriden [0.014233s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fbd43ed-1b5c-4c9c-88f8-3915d2f8d744 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "082764a5-2347-4c03-bf77-d62420bb37dc", "created_at": "2024-09-07T17:18:08.940310+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/082764a5-2347-4c03-bf77-d62420bb37dc", "rel": "self"}]} ACL Test GOT Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9fbd43ed-1b5c-4c9c-88f8-3915d2f8d744 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.78 {"uuid": "082764a5-2347-4c03-bf77-d62420bb37dc", "created_at": "2024-09-07T17:18:08.940310+00:00", "severity": "ERROR", "event_type": "provisioning", "event": "Something is wrong", "conductor": "host-1", "user": "fake-user", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/082764a5-2347-4c03-bf77-d62420bb37dc", "rel": "self"}]} GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5bef309d-27b7-459e-bce7-54b0be6cb6b8 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-d3318ad4-5ef4-4013-a3ac-9772a04af743 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a9dd4844-2e33-42f7-b2b5-6de8900d87be {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: /v1/things/ouch {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-013266f6-2280-4860-807a-8744264e1684 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which enables the provision and management of baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} Running batches of 50 until migrations have been completed. Data migrations have completed. Running batches of 50 until migrations have been completed. Data migrations have completed. Malformed option m1.key1value1 returning final set {10: [1, 2], 11: [4], 12: [7]} returning final set {10: [], 11: [4], 12: [7]} [NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='three',event_type='UNKNOWN',id=3,node_id=10,severity='INFO',updated_at=None,user=None,uuid=5c23ab9d-f2da-4d69-93c8-04f386f8762b), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='two',event_type='UNKNOWN',id=5,node_id=11,severity='INFO',updated_at=None,user=None,uuid=452bb4ec-5931-44b5-aa43-f60c4825b1c8), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='three',event_type='UNKNOWN',id=6,node_id=11,severity='INFO',updated_at=None,user=None,uuid=65388181-c438-4656-9a65-8f201f2cf46e), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='two',event_type='UNKNOWN',id=8,node_id=12,severity='INFO',updated_at=None,user=None,uuid=66130d2c-439b-4897-b3bc-01de2aed7824), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='three',event_type='UNKNOWN',id=9,node_id=12,severity='INFO',updated_at=None,user=None,uuid=28a3d10c-8873-466c-bc13-2c34beaf3cad), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='final',event_type='UNKNOWN',id=10,node_id=10,severity='INFO',updated_at=None,user=None,uuid=ae351228-ffe1-41d6-b677-a601229beeba)] returning final set {10: [1, 2], 11: [7, 8], 12: [13, 14]} [NodeHistory(conductor=None,created_at=2024-08-31T13:18:20Z,event='oldthree',event_type=None,id=3,node_id=10,severity=None,updated_at=None,user=None,uuid=ad7c7de8-0d28-41b6-9fda-19976b72b9eb), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='one',event_type='UNKNOWN',id=4,node_id=10,severity='INFO',updated_at=None,user=None,uuid=a6fef7db-20f1-4175-be1d-d8f226c1d9b1), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='two',event_type='UNKNOWN',id=5,node_id=10,severity='INFO',updated_at=None,user=None,uuid=e01da6de-ef89-4dab-8905-f6597ab94a34), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='three',event_type='UNKNOWN',id=6,node_id=10,severity='INFO',updated_at=None,user=None,uuid=fa74deda-936e-4ed8-b07e-973e8fb45ca9), NodeHistory(conductor=None,created_at=2024-08-31T13:18:20Z,event='oldthree',event_type=None,id=9,node_id=11,severity=None,updated_at=None,user=None,uuid=f42ef9ff-902c-4378-8de6-5ac970467ce5), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='one',event_type='UNKNOWN',id=10,node_id=11,severity='INFO',updated_at=None,user=None,uuid=217e0e4d-268f-4c60-a36a-f3a0f0bd19ab), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='two',event_type='UNKNOWN',id=11,node_id=11,severity='INFO',updated_at=None,user=None,uuid=1c361ca1-4567-43eb-a4d4-16040ffd94d0), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='three',event_type='UNKNOWN',id=12,node_id=11,severity='INFO',updated_at=None,user=None,uuid=260287d7-1d03-433c-9df7-17b235bd70eb), NodeHistory(conductor=None,created_at=2024-08-31T13:18:20Z,event='oldthree',event_type=None,id=15,node_id=12,severity=None,updated_at=None,user=None,uuid=f5392194-6614-4390-8ef2-2a2450c8c381), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='one',event_type='UNKNOWN',id=16,node_id=12,severity='INFO',updated_at=None,user=None,uuid=28552cab-7f7e-4cd4-9001-04c0b4860b6d), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='two',event_type='UNKNOWN',id=17,node_id=12,severity='INFO',updated_at=None,user=None,uuid=0de8f904-2dd1-4d93-93c6-8bff315347a9), NodeHistory(conductor='fake-mini',created_at=2024-09-07T17:18:20Z,event='three',event_type='UNKNOWN',id=18,node_id=12,severity='INFO',updated_at=None,user=None,uuid=35887909-bbda-48b0-a2dc-38e0b2a69381)] {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.015577s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.014658s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.015469s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.014518s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.013945s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.013886s] ... ok {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.014514s] ... ok {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.015004s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.011790s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.011131s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.015257s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.015490s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.011438s] ... ok {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.011308s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.011085s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.011666s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.011100s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.010873s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.011077s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.011465s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.011096s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.011021s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.011271s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.011007s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.011441s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.011458s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.011635s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.011654s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.011450s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.013769s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.013856s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.013730s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.014623s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.014336s] ... ok {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.013577s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.014488s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.014819s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.014756s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.013818s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.013475s] ... ok {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.021048s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.013267s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.014010s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.012856s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.014227s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.014584s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.015199s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.021502s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.014474s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.014597s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.014472s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.014239s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.014091s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.015043s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.021196s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e43eea6-0323-447d-b518-6c2f6ef91057 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid flag: Unrecognized value 'truish', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Basic realm="Baremetal API" {"error":{"message":"Authorization required","code":401}} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which enables the provision and management of baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DELETE: /v1/ GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-f5efb500-ae29-405e-bd16-e45c50e60eb2 X-Openstack-Ironic-Api-Maximum-Version: 1.78 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. func1() migrated 10 of 10 objects. func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. returning final set {10: [1, 2], 11: [4], 12: [7]} {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [60.045539s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.052609s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [60.061923s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.048486s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.065796s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.068458s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.040821s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.037380s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.058631s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.034072s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.052544s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.057787s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.057742s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.058450s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.012831s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_http [0.025563s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_http [0.038174s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.023793s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.020218s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.018637s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.026941s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.027465s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.033665s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.019171s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.017644s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.045657s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.027005s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.061847s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.105653s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.030632s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.028308s] ... ok /builddir/build/BUILD/ironic-20.1.4.dev7/ironic/drivers/modules/irmc/inspect.py:287: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited new_port.create() RuntimeWarning: Enable tracemalloc to get the object allocation traceback {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.249424s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.027595s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.037222s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.046069s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.072324s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.025313s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.058446s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.036257s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.035875s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.317795s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.036276s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.034446s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.027486s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.024814s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.042290s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.022226s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.024268s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.026320s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.055342s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.044351s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.069473s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.034033s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.031713s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.035101s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.038788s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.028767s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.027617s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.037473s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.047134s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.038088s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.068296s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.043004s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.020426s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.033519s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.043367s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.032960s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.047476s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.050537s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.028409s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.042237s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.051499s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.055299s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.084172s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.040735s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.105366s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.036669s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.057600s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.049702s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.047497s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.036877s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.038014s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.041031s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.053605s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.041706s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.046847s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.031721s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.031162s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.031934s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.065141s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.031762s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.039211s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.027009s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.028278s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.029313s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.046128s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.027649s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.042290s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.057478s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.024434s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.024609s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.036646s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.029559s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.027405s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.047711s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.031461s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.031630s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.026566s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.025930s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.024029s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.053944s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.082866s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.056193s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.050077s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.049398s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.026871s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.025224s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_cleanup [0.036799s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_http [0.037557s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_download_to_temp_invalid [0.013399s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_http_copyfile [0.014894s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_stage_swift [0.016916s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_missing [0.013365s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_checksum_not_string [0.015346s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_source_not_known [0.024347s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.027028s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.033569s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.037921s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.032617s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.095014s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.040647s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.024932s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.052527s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.028521s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__stage_firmware_file_error [0.027485s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.032296s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.246023s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.025590s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.029296s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.056503s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.018642s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.032383s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.033424s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.030767s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.047543s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.024150s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.023300s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.037751s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.018489s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.046810s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.057322s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.038599s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.021113s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.031296s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.033594s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.040531s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.032385s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.041917s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.034635s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.029993s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.028255s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.045883s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.101688s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.091290s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.047653s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.063580s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.347262s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.022323s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.017538s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.020067s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.027146s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.020407s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.025565s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.025196s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.030435s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.028341s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.025944s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.027862s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.038756s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.039989s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.036081s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.031156s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.030272s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.027191s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.028334s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.030683s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.033009s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.039710s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.063786s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.058302s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.052876s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.042267s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.040738s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.058202s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.035732s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.046745s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.043839s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.066648s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.059341s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.050787s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.111188s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.035764s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.044459s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.046208s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.031396s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.041077s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.097133s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.071915s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.047557s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.035644s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.046847s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.026213s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_lenovo [0.062801s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.074390s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.073941s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_bios [0.049637s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid_bios [0.050946s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image_bios [0.032500s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.039996s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.046821s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.033540s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.033302s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.040488s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.034220s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.036617s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.ContinueCleaningTest.test_continue_cleaning_manual_clean_version_mismatch [0.047773s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.036302s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.037128s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.037576s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.062630s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.089188s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.057761s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.034148s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.028270s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.044496s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.028642s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.031784s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.057209s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.013794s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.012334s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.014274s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.021089s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.017187s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.040230s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.036462s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.023831s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.047008s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.045581s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.070785s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.039591s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.021496s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.023466s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios_default [0.026186s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.024157s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.027504s] ... ok {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.027184s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.017535s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.018335s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.015512s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.039862s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.038773s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.071025s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.029086s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.017148s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.022459s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.022753s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.016633s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.018998s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.015515s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.251262s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.018601s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.018172s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.042709s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.021331s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.050320s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.025312s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none_bios [0.024010s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.019848s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.017190s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.042975s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.039953s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.025704s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.031130s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.018507s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.024257s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.019439s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.021468s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.028247s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.018740s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.034206s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.029321s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.028966s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.073471s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.065432s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.051836s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.017966s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.012737s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.018007s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.018463s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.020627s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.031502s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.030730s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.025671s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image_checked [0.067106s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image_fmt_not_checked [0.043600s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.046571s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.047671s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.034875s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.036009s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.040252s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.037959s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.019703s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_format_does_not_match_glance [0.016680s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_ramdisk_image [0.018104s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.012826s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.023054s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.027493s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.023531s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.019410s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.021102s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.019027s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.019166s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.034284s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.033679s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.047506s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link_no_restorecon [0.053608s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.036448s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_noop [0.043528s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.071116s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.047662s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.034728s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.027230s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.025001s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.027084s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.025971s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.022367s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.024771s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.020177s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.018837s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.031728s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.523605s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.028297s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.048074s] ... ok {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.297588s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.022821s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.028627s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.018520s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.039297s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.034704s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.026470s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.027395s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device_bios [0.031832s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.036018s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.028177s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2_bios [0.027257s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.049913s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.035445s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.030029s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.028616s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.038743s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.037165s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.029544s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.032843s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.043973s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.026963s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.027609s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.036026s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.048676s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.021321s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.024791s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.024020s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.024589s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.021264s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.023528s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.048492s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.035302s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.021580s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.020444s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.019076s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.018593s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.020419s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.045288s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.019498s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.019994s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.020510s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.022554s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.035242s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.021623s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.021984s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.027184s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.021575s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.039546s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.031013s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.031341s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.028982s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.030092s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.023424s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.029031s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.027719s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.039574s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.034510s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.049472s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid_default [0.071724s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.041303s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.043811s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.051441s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.087921s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.065124s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.048120s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.025236s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.025670s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.025407s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.057530s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.044506s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.014767s] ... ok {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.033821s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.080694s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.029412s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.051507s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.031748s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart_bios [0.052812s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.061327s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_uefi [0.064807s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.073601s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.046355s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.067401s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue_bios [0.056202s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.075333s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.027454s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.026213s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.065173s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.042548s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.028403s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.066018s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.049096s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.114700s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.035429s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.031249s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.377631s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.035524s] ... ok {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.028814s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.056531s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.040467s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.017734s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.016215s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.020901s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.022444s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.019375s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.017174s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.018725s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.035165s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.036843s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.032500s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.027084s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.016481s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.015180s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.016876s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.017038s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.016112s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.018580s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.021730s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.017931s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.017693s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.017992s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.016357s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.018890s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.020292s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.041211s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.022503s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.035928s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.019287s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.031050s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.016690s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.014190s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.014274s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.018703s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.016984s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.019920s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.026601s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.015997s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.013855s] ... ok {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.018372s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.014647s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.016165s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.015129s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.014120s] ... ok {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.013286s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.013033s] ... ok {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.012215s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.012542s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.015031s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.013380s] ... ok {3} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.015447s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.014341s] ... ok {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.013690s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.041906s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.032819s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.043761s] ... ok {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.030622s] ... ok {3} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.033294s] ... ok {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.032676s] ... ok {3} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.046724s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.042643s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.030842s] ... ok {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.037040s] ... ok {3} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.037469s] ... ok {3} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.041509s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.028082s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.023042s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.016631s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.015107s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.020961s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.033386s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.022757s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.023312s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.019128s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.024519s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.051885s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.049845s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.037510s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.033285s] ... ok {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.021020s] ... ok {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.028157s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.017561s] ... ok {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.023644s] ... ok {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.029485s] ... ok {3} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.013386s] ... ok {3} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.018598s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.040309s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.053644s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.036782s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.034113s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.031780s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.022433s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.016028s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.014891s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.014648s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.014711s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.014488s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.017132s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.029748s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.027504s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.016514s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.015661s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.014113s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.017231s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.027721s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.016984s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.015750s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.021536s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.015528s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.018845s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_interface [0.022805s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.017711s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.038696s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.019814s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.021022s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.014574s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.029861s] ... ok {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.018851s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.016074s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.016108s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.032377s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.033002s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.025439s] ... ok {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.014715s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.013024s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.014093s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.011187s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.014834s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.012954s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.013050s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.012656s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.014535s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.015366s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.011958s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.017049s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.011677s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.011657s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.011018s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.010945s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.011960s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.012283s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.011623s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.015980s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.019415s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.013749s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.013397s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.018079s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.014327s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.014846s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.016117s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.014604s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.013887s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.013333s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.012941s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.013716s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.014860s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.355156s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.015930s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.028084s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.019451s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.039347s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.027920s] ... ok {3} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.019911s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.016991s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.022463s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.020765s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.017781s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.016414s] ... ok {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.019418s] ... ok GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} Running batches of 50 until migrations have been completed. Data migrations have not completed. Please re-run. Running batches of 50 until migrations have been completed. Data migrations have completed. ============================== Failed 2 tests - output below: ============================== ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit_stream_optimized ----------------------------------------------------------------------------------------------------------------------- Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 413, in test_vmdk_bad_descriptor_mem_limit_stream_optimized self._test_vmdk_bad_descriptor_mem_limit(subformat='streamOptimized') File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 384, in _test_vmdk_bad_descriptor_mem_limit img = self._create_allocated_vmdk(image_size // units.Mi, File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 185, in _create_allocated_vmdk subprocess.check_output( File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib64/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command 'qemu-img convert -f raw -O vmdk -o subformat=streamOptimized -S 0 /tmp/tmpuhwha6g7/ironic-unittest-formatinspector--streamOptimized-aeg13job.raw /tmp/tmpuhwha6g7/ironic-unittest-formatinspector--streamOptimized-6qt4xr_y.vmdk' returned non-zero exit status 127. ironic.tests.unit.common.test_format_inspector.TestFormatInspectors.test_vmdk_bad_descriptor_mem_limit ------------------------------------------------------------------------------------------------------ Captured traceback: ~~~~~~~~~~~~~~~~~~~ Traceback (most recent call last): File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 410, in test_vmdk_bad_descriptor_mem_limit self._test_vmdk_bad_descriptor_mem_limit() File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 384, in _test_vmdk_bad_descriptor_mem_limit img = self._create_allocated_vmdk(image_size // units.Mi, File "/builddir/build/BUILD/ironic-20.1.4.dev7/ironic/tests/unit/common/test_format_inspector.py", line 185, in _create_allocated_vmdk subprocess.check_output( File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, File "/usr/lib64/python3.9/subprocess.py", line 528, in run raise CalledProcessError(retcode, process.args, subprocess.CalledProcessError: Command 'qemu-img convert -f raw -O vmdk -o subformat=monolithicSparse -S 0 /tmp/tmpqzo2s8kg/ironic-unittest-formatinspector--monolithicSparse-v369n32v.raw /tmp/tmpqzo2s8kg/ironic-unittest-formatinspector--monolithicSparse-nlcyo89i.vmdk' returned non-zero exit status 127. ====== Totals ====== Ran: 8737 tests in 232.8712 sec. - Passed: 8679 - Skipped: 56 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 2 Sum of execute time for each test: 533.6286 sec. ============== Worker Balance ============== - Worker 0 (2185 tests) => 0:01:39.434760 - Worker 1 (2184 tests) => 0:01:41.742656 - Worker 2 (2184 tests) => 0:01:42.473676 - Worker 3 (2184 tests) => 0:03:52.484752 error: Bad exit status from /var/tmp/rpm-tmp.ECnc9Y (%check) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.ECnc9Y (%check) Child return code was: 1 EXCEPTION: [Error("Command failed: \n # bash --login -c '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'\n", 1)] Traceback (most recent call last): File "/usr/lib/python3.9/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.9/site-packages/mockbuild/util.py", line 612, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'